归纳起来, Servlet的生命周期分为3个阶段:
初始化阶段:
运行时阶段:
销毁阶段:
一、在下列的情况之一,Servlet会进入初始化阶段:
1 如果在web.xml中为一个Servlet设置了<load-on-startup>,那么当服务器启动时,也会初始化这个Servlet
2 当前Web应用在运行,Servlet被客户端请求,且内存里没有这个Servlet的对象的话,就会初始化这个Servlet
3 Web应用被重新启动时,所有Servlet都会重新初始化
二、初始化阶段完成下面的操作:
1 把Servlet的.class加载到内存
2 创建一个ServletConfig对象[此对象包含了特定Servlet的初始化配置信息,如Servlet的初始参数,另外,服务器还 会使得此对象与自己的Web应用的ServletContext对象关联]
3 创建Servlet对象
4 调用Servlet对象的init()方法。建立Servlet对象与ServletContext对象的关联
三、运行时阶段:在这个阶段,所有的Servlet都处于待命状态,随时可以响应客户端的特定请求
1 当有用户请求时,若Servlet未被初始化,则执行上面的初始化,若有则执行2
2 服务器把客户端请求包装到ServletRequest,同时创建ServletResponse,调用service方法
3 service方法调用doXXX()方法,通过ServletResponse响应客户
4 响应结果发送完毕后,销毁ServletRequest和ServletResponse对象
四、销毁阶段:
整个生命周期,销毁只会发生一次。[但是销毁时间是不确定的?]
1 当应用被终止时,调用Web应用的destory()方法销毁所有Servlet对象[那些未被垃圾回收的那些吧]
2 销毁与Servlet对象关联的ServletConfig对象。
[Servlet到底是什么时候被销毁的呢?有垃圾回收的吧?]
注意:
ServletContext 对应 一个Web应用
ServletConfig 对应 一个Servlet对象
分享到:
相关推荐
servlet生命周期演示,便于理解servlet工作流程。
servlet生命周期详解
SERVLET生命周期与JSP生命周期比较
Servlet生命周期与工作原理Servlet使用
达内学习笔记,servlet生命周期,十分详细,保证一看就懂
servlet生命周期详细图解,矢量图。 详细的解释请参考本人博客:http://blog.csdn.net/dwyers/article/details/38435949
servlet生命周期和模版设计模式,包括代码以及相关文档
关于对Servlet声明周期的图例示意!
山寨qq项目1.登录界面教你学会制作qq登录及后台运行。
Servlet 生命周期
Java WEB 篇七 Servlet 生命周期
注:本示例中有5章图片,但因为上传比较麻烦,所以就放在附件中 博文链接:https://lvp.iteye.com/blog/234610
Servlet技术 两条主线 1、HTTP协议 2、Servlet生命周期
从三个阶段来描述servlet的生命周期:初始化阶段、运行阶段和销毁阶段。