暑假学习打卡2

Servlet是单例的,一个类只有一个对象,可能存在多个Servlet.线程不安全,效率高.

Servlet作用:接受请求数据,处理请求,完成响应

Servlet : init(),destory(),service()为生命周期方法. init,destory只执行一次,service多次

暑假学习打卡2_第1张图片

实现Servlet有3种方法:

1.实现Servlet接口,并在web.xml中配置 

暑假学习打卡2_第2张图片
web.xml

2.继承GenericServlet(实现了Servlet,ServletConfig,Serializable接口)

init(ServletConfig sc){init();}生命周期方法种自定义init方法,当执行生命周期方法时会自动调用,并且不覆盖init周期方法

3.继承HttpServlet(实现了Servlet,ServletConfig,Serializable接口,并且多了http相关功能),HttpServlet是GenericServlet子类

暑假学习打卡2_第3张图片
HttpServlet

客户端浏览器对web服务器发出HTTP请求,http服务器将请求转于Web容器处理,tomcat调用生命周期方法service,把servletrequest,servletresponse转换成httpServletRequest和httpServletResponse,在调用自身的getmethod区别是get还是post请求,在分别调用。

我们只需要重写doget,dopost方法


暑假学习打卡2_第4张图片
httpServlet时序图

ServletContext: 一个项目只有一个ServletContext,服务器启动时创建,服务器关闭时销毁,他可以在整个项目中共享数据。

暑假学习打卡2_第5张图片
ServletContext

setAttribute,getAttribute

ServletContext是javaweb四大域之一(pageContext,servletRequest,httpSession,servletContext),域对象内部是Map,如果多次调用该方法,并且使用相同的name,那么会覆盖上一次的值.

getRealPath:获取Web应用下的资源

getResourceAsStream:获取资源流

你可能感兴趣的:(暑假学习打卡2)