Servlet 的生命周期指的是 Servlet 从创建到销毁的整个过程,主要由以下几个阶段组成:
- 加载和实例化:
- 当容器(如 Tomcat)启动或首次接收到针对某个 Servlet 的请求时,容器会加载该 Servlet 类并创建其实例。
- 这个过程通常是通过调用 Servlet 的无参构造函数来完成的。
- 初始化(init):
- 在 Servlet 实例化之后,容器会调用
init(ServletConfig config)
方法进行初始化。 init
方法只会被调用一次,用于执行一些一次性的初始化操作,例如加载配置、建立数据库连接等。ServletConfig
对象包含了 Servlet 的配置信息,可以通过它获取初始化参数。
- 在 Servlet 实例化之后,容器会调用
- 处理请求(service):
- 初始化完成后,Servlet 就可以处理客户端的请求了。
- 对于每个请求,容器会调用
service(ServletRequest req, ServletResponse res)
方法。 service
方法会根据请求的类型(GET、POST 等)调用相应的doGet
、doPost
等方法来处理请求。
- 销毁(destroy):
- 当容器决定卸载 Servlet 时(例如容器关闭或 Servlet 长时间未被使用),会调用
destroy()
方法。 destroy
方法只会被调用一次,用于释放资源,如关闭数据库连接、释放文件句柄等。- 调用
destroy
方法后,Servlet 实例会被垃圾回收器回收。
- 当容器决定卸载 Servlet 时(例如容器关闭或 Servlet 长时间未被使用),会调用
总结:
- 加载和实例化:Servlet 类被加载并创建实例。
- 初始化:调用
init
方法进行一次性初始化。 - 处理请求:调用
service
方法处理每个请求。 - 销毁:调用
destroy
方法释放资源并销毁实例。
Servlet 的生命周期由容器管理,开发者只需关注 init
、service
和 destroy
方法的实现即可。
THE END
暂无评论内容