Servlet是单例的,一个类只有一个对象,可能存在多个Servlet.线程不安全,效率高.
Servlet作用:接受请求数据,处理请求,完成响应
Servlet : init(),destory(),service()为生命周期方法. init,destory只执行一次,service多次
实现Servlet有3种方法:
1.实现Servlet接口,并在web.xml中配置
2.继承GenericServlet(实现了Servlet,ServletConfig,Serializable接口)
init(ServletConfig sc){init();}生命周期方法种自定义init方法,当执行生命周期方法时会自动调用,并且不覆盖init周期方法
3.继承HttpServlet(实现了Servlet,ServletConfig,Serializable接口,并且多了http相关功能),HttpServlet是GenericServlet子类
客户端浏览器对web服务器发出HTTP请求,http服务器将请求转于Web容器处理,tomcat调用生命周期方法service,把servletrequest,servletresponse转换成httpServletRequest和httpServletResponse,在调用自身的getmethod区别是get还是post请求,在分别调用。
我们只需要重写doget,dopost方法
ServletContext: 一个项目只有一个ServletContext,服务器启动时创建,服务器关闭时销毁,他可以在整个项目中共享数据。
setAttribute,getAttribute
ServletContext是javaweb四大域之一(pageContext,servletRequest,httpSession,servletContext),域对象内部是Map,如果多次调用该方法,并且使用相同的name,那么会覆盖上一次的值.
getRealPath:获取Web应用下的资源
getResourceAsStream:获取资源流
网友评论