归纳起来, 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生命周期详解 #### 一、引言 在Java Web开发中,Servlet作为一种重要的技术,被广泛应用于构建动态网页和处理客户端请求。了解Servlet的生命周期对于深入理解和掌握Servlet的工作机制至关重要。本文将...
初始化阶段是整个Servlet生命周期的第一个关键步骤,它标志着Servlet的开始。此阶段主要由以下步骤组成: 1. **Servlet容器加载Servlet类**:Servlet容器负责加载Servlet类,并将.Class文件的数据读入内存。这一...
### Servlet 生命周期演示代码详解 #### 一、Servlet 生命周期概述 在深入分析代码之前,我们先来了解一下 Servlet 的生命周期。Servlet 的生命周期主要包括三个阶段:初始化 (`init` 方法)、请求处理 (`service` ...
### SERVLET生命周期与JSP生命周期比较 #### 一、引言 在现代Web开发中,Servlet和JSP是两种非常重要的技术,它们都属于Java EE平台的一部分,主要用于构建动态Web应用程序。这两种技术各有特点,但又紧密相关,...
Servlet 生命周期与工作原理 Servlet 生命周期与工作原理是指在 Servlet 容器中,Servlet 的从创建到销毁的整个过程。这个过程可以分为三个阶段:初始化阶段、响应客户请求阶段和终止阶段。 初始化阶段 在这个...
**Servlet生命周期** Servlet的生命周期可以分为三个主要阶段:初始化、服务和销毁。 1. **初始化阶段**: - 当Servlet首次被请求或者在web应用启动时,容器(如Tomcat)会加载Servlet类,并调用`init()`方法进行...
#### 三、Servlet生命周期详解 ##### 实例化 - **按需创建**:默认情况下,当第一次HTTP请求到达时,容器会创建Servlet的实例。 - **预加载**:通过在`web.xml`中配置`<load-on-startup>`标签,可以在应用启动时...
Servlet生命周期是Java Web开发中一个关键的概念,它描述了Servlet从创建到销毁的整个过程,这个过程由Servlet容器(如Tomcat)进行管理。Servlet生命周期主要分为三个阶段:初始化阶段、运行阶段和销毁阶段。 1. ...
Servlet生命周期和模板设计模式是Java Web开发中的两个关键概念,它们在构建动态Web应用程序时起着至关重要的作用。 首先,让我们深入理解Servlet的生命周期。Servlet是Java编程语言中的一种接口,用于扩展服务器的...
在Servlet生命周期中,init()方法只会被调用一次,service()方法会在每次用户请求时被调用,destroy()方法只会被调用一次,在Servlet生命周期结束时被调用。Servlet生命周期的正确实现是保证Servlet正确运行的关键。
java servlet生命周期 java servlet生命周期
servlet生命周期详细图解,矢量图。 详细的解释请参考本人博客:http://blog.csdn.net/dwyers/article/details/38435949
关于对Servlet声明周期的图例示意!
Servlet生命周期主要包括三个阶段:加载、初始化和销毁。当Web容器启动或者第一次接收到对Servlet的请求时,Servlet会被加载并实例化。然后,调用`init()`方法进行初始化,这个方法可以用来设置Servlet的初始状态...
Java WEB 篇七 Servlet 生命周期