Servlet 生命周期与web容器的关系

servlet生命周期由web容器(如tomcat)管理,初始化一次,直到web容器关闭才会被销毁。
1、servlet是单例多线程,每个请求过来容器都会启用一个新线程

2、servlet在容器中保持单例,只会被初始化一次
  当web.xml中servlet配置load-on-startup为正整数时,容器启动时servlet就会初始化:创建对象->init(ServletConfig config)->init()
  当load-on-startup没有设置或值为负数时,servlet要被请求时才会初始化:创建对象->init(ServletConfig config)->init()

3、一个请求过来容器会启动新线程,包装HttpServletRequest和HttpServletResponse交给servlet,触发servlet的service方法,service方法会根据请求指定的method调用对应的方法(doGet、doPost、doPut、doDelete...)

推荐文献:http://blog.chinaunix.net/uid-9789791-id-1997412.html

原文地址:https://www.cnblogs.com/rgky/p/5863222.html