Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:
-
Servlet 创建实例
-
Servlet 初始化后调用 init () 方法。
-
Servlet 调用 service() 方法来处理客户端的请求。
-
Servlet 销毁前调用 destroy() 方法。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
结构图
现在让我们详细讨论生命周期的方法。
1 实例化
当用户第一次访问Servlet时,由容器调用Servlet的构造器创建具体的Servlet对象。也可以在容器启动之后立刻创建实例。使用如下代码可以设置servlet是否在服务器启动时就创建。
<1oad-on-startup>1</1oad-on-startup>
- 注意:只执行一次
2 init()初始化
在初始化阶段,init()方法会被调用。这个方法在javax.servlet.Servlet接口中定义。其中,方法以一个ServletConfig类型的对象作为参数。
- 注意:init方法只被执行一次
3 service()服务
当客户端有一个请求时,容器就会将请求ServletRequest与响应ServletResponse对象转给Servlet,以参数的形式传给service方法。
- 此方法会执行多次
4 destroy()销毁
当Servlet容器停止或者重新启动都会引起销毁Servlet对象并调用destroy方法。
- destroy方法执行一次