servlet生命周期

装载—创建servlet实例—调用init()方法初始化—常驻内存,实行请求-响应模式—destory

1.装载

  1. 自动装载。在服务器web.xml中进行配置(load-on-startup),使得服务器启动后,创建相应的servlet实例。
  2. 用户首次向servlet容器发送请求,servlet容器将实例化一个servlet
  3. 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有 servletfilter 和 Listener 或 @WebServlet@WebFilter 和 @WebListener 注解的内容被加载至内存,如果用户发出请求,初始化ServletRequest对象,TCP三次握手后,与服务器建立连接,初始化HttpSession对象,有一个唯一的sessionId然后servlet针对request做出相应,该request对象就被销毁(该过程十分短暂)。

原文地址:https://www.cnblogs.com/kundeg/p/6431458.html