2.7.3 JSP Servlet的生命周期
2.7.3 JSP Servlet的生命周期
JSP
的本质就是Servlet
,开发者编写的JSP
页面将由web
容器编译成对应的Servlet
,当Servlet
在容器中运行时,其实例的创建及销毁等都不是由程序员决定的,而是由Web
容器进行控制的。
创建Servlet
实例有两个时机。
- 客户端第一次请求某个
Servlet
时,系统创建该Servlet
的实例:大部分的Servlet
都是这种Servlet
Web
应用启动时立即创建Servlet
实例,即load-on-startup
这个Servlet
每个Servlet
的运行都遵循如下生命周期
- 创建
Servlet
实例。 Web
容器调用Servlet
的init
方法,对Servlet
进行初始化Servlet
初始化后,将一直存在于容器中,用于响应客户端请求。- 如果客户端发送
GET
请求,容器调用Servlet
的doGet()
方法处理并响应请求; - 如果客户端发送
POST
请求,容器调用Servlet
的doPost()
方法处理并响应请求。 - 或者统一使用
service()
方法处理来响应用户请求。
- 如果客户端发送
web
容器决定销毁Servlet
时,先调用Servlet
的destroy
方法,通常在关闭web
应用之时销毁Servlet
Servlet
的生命周期如图2.33所示。