`
wuhaidong
  • 浏览: 357872 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

解读Servlet生命周期

    博客分类:
  • WEB
阅读更多

Servlet 的生命周期是由servlet 的容器来控制的。分为3个阶段:初始化阶段,运行阶段,销毁阶段。

 

初始化阶段:

 

  1> Servlet 容器加载servlet类,把它的.class 文件中的数据读到内存中。

 

2> Servlet 容器创建 servletConfig 对象。servletConfig 对象包含了servlet 的初始化配置信息。此外servlet 容

 

器还会使得servletConfig 对象与当前的web 应用的servletContext 对象关联。

 

3> Servlet 容器创建servlet 对象。

 

4> Servlet 容器调用 servlet 对象的 init (ServletConfig config)的方法。通过 初始化步骤,创建了 servlet 对象和 servletConfig 对象,并且servlet 对象与servletCongfig 对象关联,而servletConfig 对象又与当前对象的 servletContext 对象关联。当servlet 容器完成servlet 后,servlet 对象只要通过 getServletContext() 方法就能得到 web 应用的servletContext 对象。

 

*注: servlet 初始化的情况:

 

(1)当web 应用处于运行阶段时,特定的servlet 被客户端首次请求访问。

(2)在web.xml 文件中servlet 设置了<load-on-startup>元素

<servlet>

<servlet-name>servlet1</servlet-name>

<servlet-class>servlet.servlet1</servlet-class>

<load-on-startup>0</load-on-startup>

</servlet>

 

  说明:

 

  在servlet 的配置当中,<load-on-startup>5</load-on-startup>的含义是:
 

  标记容器是否在启动的时候就加载这个servlet。

 

  当值为 0 或者 大于 0 时,表示容器在应用启动时就加载这个容器这个servlet;

 

  当时一个负数时或者没有指定时,则指示容器在该servlet 被选择时才加载。

 

 正数的值越小,启动该servlet的优先级越高。

 

(3)当web 应用被重新启动时,web 应用中的所有servlet 会在特定的时间被重新初始化。

 

运行阶段:

 

在这个阶段servlet 可以随时响应客户端的请求。当servlet 容器接到访问特定的 servlet 请求时,servlet容器会

 

创建针对与这个请求的servletRequest和servletResponse 对象,然后调用 service 方法,并把这连个对象当做参数

 

传递给 service() 方法。service() 方法通过servletRequest 对象获取请求信息,并处理该请求,再通过

 

servletResponse 对象生成响应结果。

 

 

* 注: 当servlet 容器把 servlet 生成的响应结果发送客户后,servlet 容器会销毁 servletRequest 和

 

servletResponse 对象。

 

 

销毁阶段:

 

当 Web 应用被终止时,servlet 容器会先调用 web 应用中所有的 servlet 对象的 destroy() 方法,然后在销毁

 

servlet 对象。此外容器还会销毁与 servlet 对象关联的 servletConfig 对象。

 

在destroy() 方法的实现中,可以释放servlet 所占用的资源。如关闭文件输入输出流,关闭与数据库的连接。

 

* 注: servlet 的生命周期中, servlet 的初始化和销毁只会发生一次,因此 init() 和 destroy() 方法只

 

能被servlet容器调用一次,而service() 方法取决于servlet 被客户端访问的次数

 

分享到:
评论

相关推荐

    解读servlet生命周期

    Servlet生命周期是Java Web开发中一个关键的概念,它描述了Servlet从创建到销毁的整个过程,这个过程由Servlet容器(如Tomcat)进行管理。Servlet生命周期主要分为三个阶段:初始化阶段、运行阶段和销毁阶段。 1. ...

    Servlet解读

    ### Servlet生命周期详解 #### 初始化阶段 在探讨Servlet的执行流程之前,我们首先了解Servlet的生命周期。Servlet的生命周期主要分为三个阶段:初始化阶段、运行阶段以及销毁阶段。 **1. 加载与实例化** - **...

    经典Servlet api 2.1中文说明文档

    Servlet API提供了Servlet生命周期的管理,包括加载、初始化、服务、销毁等阶段。 2. **Servlet容器**: Servlet不直接运行在Java虚拟机(JVM)上,而是运行在Servlet容器(如Tomcat、Jetty)中。容器负责创建...

    Servlet技术.pdf

    ### Servlet技术概述与核心知识点解析 #### 一、Servlet技术...通过对Servlet生命周期的理解、与JSP的关系分析、运行环境的配置以及示例代码的解读,开发者能够更好地利用Servlet技术,提升Web应用的性能和用户体验。

    JavaEE Servlet2.1说明文档

    四、Servlet生命周期 1. 加载与初始化:Servlet被Servlet容器(如Tomcat)加载后,会调用`init()`方法进行初始化。 2. 服务阶段:当接收到请求时,Servlet容器调用`service()`方法,根据请求类型分发到对应的`doGet...

    servlet2.4中文规范

    它负责加载、初始化、执行Servlet以及管理Servlet的生命周期。 - **例子**:Apache Tomcat是一个流行的Servlet容器,它可以运行Servlet 2.4规范的Web应用程序。 - **与其他技术的对比**:Servlet与CGI(通用网关...

    servlet2.3规范中文版

    Servlet容器,即Servlet引擎,是Web服务器或应用程序服务器的一部分,负责Servlet的生命周期管理和执行。Servlet之间的通信是通过HTTP请求/响应模型进行的,其中包含了诸如URI、URL、HTTP/1.0、MIME等网络协议,以及...

    servlet-api 集合

    Servlet Listener则可以监听Web应用程序的生命周期事件,如会话创建、销毁等,提供更灵活的事件驱动编程模型。 3. **Servlet-API 2.4**:发布于2002年,这个版本对Filter和Listener的API进行了增强,增加了更多预...

    jsp+jdbc+servlet登陆完整程序和注解

    Servlet生命周期包括加载、初始化、服务、销毁四个阶段,通过这些阶段,Servlet可以处理用户的请求,例如登录验证。 【登录程序】 登录程序通常包括以下几个步骤: 1. 用户输入:用户在Web表单中输入用户名和密码。...

    Servlet3.1规范说明中文版_英文版.rar

    7. **预定义的生命周期事件**:Servlet 3.1引入了更多的预定义生命周期事件,例如`@PreDestroy`,允许在Servlet实例销毁前执行清理工作。 8. **初始化参数**:Servlet 3.1允许在类级别定义初始化参数,这使得多个...

    J2EE技术面试题 EJB面试题 JDBC面试题 JSP面试题 Servlet面试题

    - Servlet的生命周期,包括初始化、服务和销毁方法。 - Servlet的多线程问题,如何处理并发请求? - Servlet配置文件web.xml中,servlet和servlet-mapping元素的作用。 - 什么是Filter和Listener,它们在Servlet...

    推选JSP程序设计PPT资料.ppt

    Servlet生命周期与处理流程 Servlet的生命周期包括加载、初始化、服务和销毁四个阶段。当首次接收到对Servlet的请求时,服务器会加载并实例化Servlet,然后调用它的init()方法进行初始化。之后,每当有新的请求到达...

    基于Jsp+Tomcat+Servlet+Filter的超市管理系统.zip

    2. **Servlet生命周期**:初始化、服务、销毁三个阶段,以及doGet和doPost方法的使用。 3. **Filter原理**:Filter接口的实现,如何在web.xml中配置Filter,以及doFilter方法的调用流程。 4. **MVC模式**:模型、...

    How tomcat works(包含源码示例)

    在Servlet的生命周期管理部分,Tomcat遵循Servlet规范,为每个Servlet实例创建单个线程模型或多线程模型。Servlet的初始化、服务和销毁过程由Tomcat容器自动管理,开发者只需要重写相应的生命周期方法即可。 此外,...

    servlet第一讲

    - **描述阶段**:利用web.xml等配置文件对Web组件进行描述,定义其生命周期与调用规则。 - **打包阶段**:将所有资源与组件打包成WAR文件,便于部署。 - **部署阶段**:将WAR文件上传至Web服务器,如Tomcat,进行...

    02-Tomcat源码解读1

    总的来说,Tomcat源码解读需要把握住Server和Service这两个核心组件,理解它们如何通过Connector与Engine协同工作,以及生命周期管理和启动流程的设计。同时,要关注Container的层次结构以及与配置文件的交互,这将...

    基于原生servlet和jdbc的学生信息管理系统,前端使用layui.zip

    Servlet生命周期包括加载、初始化、服务、销毁等阶段。 2. **JDBC**:Java数据库连接,允许Java程序与各种类型的数据库进行交互。包括加载驱动、建立连接、创建Statement或PreparedStatement对象、执行SQL语句、...

    SCWCD notes

    ### Servlet生命周期 Servlet的生命周期包括初始化、服务请求以及销毁三个阶段。当Servlet首次加载时,会调用`init()`方法进行初始化;之后,对于每一个客户端请求,会调用`service()`方法来处理请求,具体调用`...

Global site tag (gtag.js) - Google Analytics