【Java.Web】Servlet —— Servlet(JavaWeb)的生命周期
2013-12-31 02:49
363 查看
Java Web的生命周期
Java Web的生命周期是由Servlet容器来控制的,Java Web应用的声明周期包括三个阶段:启动阶段
把web.xml文件加载到内存中为Java Web应用创建一个ServletContext对象
对所有的Filter进行初始化
对那些需要在Web应用启动时就被初始化的Servlet进行初始化
运行阶段
加入客户端请求的Servlet还不存在,Servlet容器会先初始化Servlet,然后再调用它的service()服务方法。终止阶段
销毁Java Web应用中所有处于运行时状态的Servlet销毁所有处于运行时状态的Filter
销毁所有与Java Web应用相关的对象,如ServletContext对象等,并且释放Web应用所占用的相关资源
Servlet的生命周期
初始化阶段
Servlet容器加载Servlet类,把它的.class文件中的数据读入内存中Servlet容器创建ServletConfig对象,Servlet对象包含了特定的Servlet的初始化配置信息,将ServletConfig对象与当前Web应用的ServletContext对象关联
Servlet容器创建Servlet对象
Servlet容器调用Servlet对象的init()方法
以上过程将servlet,servletconfig,servletcontext相关联。
在以下情况下,Servlet会进入初始化阶段:
当Web应用处于运行时阶段,特定Servlet被客户端首次请求访问。大多数的Servlet都会在这种情况下被Servlet容器初始化
如果在web.xml文件中为一个Servlet设置了<load-on-startup>元素,那么当Servlet容器启动Servlet所属的Web应用时,就会初始化这个Servlet(启动初始化)
当Web应用被重新启动时,Web应用中的所有Servlet都会在特定的时刻被重新初始化
(注意:即使两个Servlet的class一样,也会生成两个Servlet对象,因为它们的ServletConfig可能是不同的)
运行时阶段
当Servlet容器接受到要求访问特定Servlet的客户请求时,Servlet容器会创建针对这个请求的ServletRequest和ServletResponse,然后调用相应 Servlet对象的service()方法。当Servlet容器把Servlet生成的响应结果发送给了客户,Servlet容器就会销毁ServletRequest对象和ServletResponse对象。
销毁阶段
调用servlet对象的destroy()方法,还会销毁与Servlet对象关联的ServletConfig对象。相关文章推荐
- Servlet技术浅析(六)之-----JavaWeb应用的生命周期和Servlet的生命周期
- JavaWeb开发之Servlet的请求流程剖析-图片版 (跟龙哥学javaweb)笔记
- JavaWeb,Servlet,Jsp生命周期
- JavaWeb之Servlet(一)Servlet入门、API(生命周期)、ServletContext对象
- (转)JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板
- Tomcat与JavaWeb 1.2 JavaWeb应用的生命周期、Servlet的生命周期
- javaWeb之Servlet的工作原理与生命周期
- 每日一则JavaWeb---实验分析Servlet、Filter 和 Listener 调用顺序、生命周期
- javaweb中servlet生命周期介绍
- 30天学通JAVA WEB Servlet调用图及生命周期
- JavaWeb 学习笔记(二)Servlet生命周期
- javaWeb之Servlet生命周期
- 5. 尚硅谷_佟刚_JavaWEB_Servlet 的配置及生命周期方法.wmv
- JavaWeb之 Servlet执行过程 与 生命周期
- JavaWeb之 Servlet执行过程 与 生命周期
- Java Web -- Servlet(5) 开发Servlet的三种方法、配置Servlet具体解释、Servlet的生命周期(2)
- JavaWeb之 Servlet执行过程 与 生命周期
- javaweb_servlet_web.xml文件配置
- Java_JSP2_Servlet3.0 Web模块开发;
- JAVAWEB开发之Servlet3.0新特性的使用以及注解的详细使用和自定义注解的方法、动态代理的使用、利用动态代理实现细粒度的权限控制以及类加载和泛型反射