Servlet部署在容器里,它的生命周期由Servlet容器进行控制。Servlet生命周期可以分为三个阶段:初始化阶段、运行时阶段、销毁阶段。
初始化阶段
Servlet初始化阶段包括以下4个步骤:
1、当Web客户请求Servlet服务或当Web服务启动时,容器环境加载一个Servlet类。
2、Servlet容器创建ServletConfig对象,用于配置Servlet初始化信息。
3、Servlet容器创建一个Servlet对象。
4、Servlet容器调用Servlet对象的初始化方法init()进行初始化,并且需要给init()方法传入一个ServletConfig对象,ServletConfig对象包含了初始化参数和容器环境信息,并负责向Servlet传递数据,如果传递失败,则会抛出一个ServletException。
运行时阶段
在这个阶段,Servlet可以随时响应客户端请求,当容器环境接受到要求访问特定的Servlet的客户端请求时,容器会建立针对这个请求的ServletRequest对象和ServletRwsponse对象,然后调用Servlet对象的service方法,service方法接受ServletRequest对象和ServletResponse对象来处理请求和发送响应。
当Servlet容器已经把Servlet生成的响应结果发送给客户,容器就会销毁ServletRequest对象和ServletResponse对象。
销毁阶段
当web应用被终止时,Servlet容器会调用web应用中所有Servlet对象的destory()方法,然后在销毁这些Servlet对象。通过destory()方法可以释放Servlet所占用的资源(如内存、文本处理和线程)。