装载—创建servlet实例—调用init()方法初始化—常驻内存,实行请求-响应模式—destory
1.装载
- 自动装载。在服务器web.xml中进行配置(load-on-startup),使得服务器启动后,创建相应的servlet实例。
- 用户首次向servlet容器发送请求,servlet容器将实例化一个servlet
- servlet文件被更新后将被重新装载
2.常驻内存
文档中servlet类中的一个方法:
void service(ServletRequest req, ServletResponse res)
Called by the servlet container to allow the servlet to respond to a request.用来响应请求。
实现servlet的类有GenericServlet,HttpServlet等
继承GenericServlet的类需要重写父类servlet的service方法。
继承Httpservlet的类,只需重写Httpservlet中包含的doGet()和doPost()方法。
3.destory
关闭服务器或者更改servlet内容的时候原来的servlet会被删除先。
生命周期概括:暂且不讨论Servlet的实例化,运行web服务器,针对每个web应用,servlet容器会实例化一个ServletContext(上下文)对象,然后web 应用的 web.xml
被解析,有servlet,filter和Listener有 servlet
、filter
和 Listener
或 @WebServlet
、@WebFilter
和 @WebListener
注解的内容被加载至内存,如果用户发出请求,初始化ServletRequest对象,TCP三次握手后,与服务器建立连接,初始化HttpSession对象,有一个唯一的sessionId然后servlet针对request做出相应,该request对象就被销毁(该过程十分短暂)。