`
李楚男
  • 浏览: 117817 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Servlet生命周期

 
阅读更多
Servlet运行在Web容器中。Servlet本身不是直接运行在Java虚拟机上,它需要Web容器控制这个载入和运行过程。理解整个过程能够深我们对servlet技术的认识并提高我们的编程技巧。Web容器控制着整个servlet的生命周期,包括: 创建; 初始化; 提供服务; 终止服务; 清除。 1.创建和初始化 servlet在Web程序中以类文件存在(在WEB-INF/classes/目录或WEB-INF/lib目录),在以下情况下,Web容器将Web应用载入并创建应用内的每一个Servlet的一个实例: 当Web服务器启动时; 当第一个用户对servlet的请求传递到Web容器时; 当应用被加入Web服务器时。 因此,一个Servlet在生命周期内只能被初始化一次。 在调用servlet的init()方法初始化servlet时,web容器创建一个servlet设置对象(ServletConfig类的实例)并通过该对象向servlet传递初始参数。这个ServletConfig实例在servlet初始化后一直在内存中存在,直到servlet被清除(destroy)。如果初始化没有问题,servlet在Web容器中成为可以提供服务的状态(available for service);如果初始化失败,Web容器会从运行环境中清除掉(unload)该servlet实例。有时当servlet程序出错时,Web容器会使servlet变为不能服务状态(unavailable for service)。Web程序维护人员也可以设置servlet使用其成为不能服务状态或从不能服务状态恢复成服务状态。 2.处理Web请求 当用户请求传递到Web服务器时,Web服务器产生一个请求(request)对象和一个响应(response)对象。Web容器将这两个对象传递到处于可以服务状态的servlet来让其进行处理。在servlet的对应处理方法内(serivce(),doGet(),doPost()),servlet对request进行分析,将处理结果能过response对象返回给Web容器。Web容器最终将结果通过HTTP协议传回到客户端。 3.终止服务 当Web容器需要终止servlet时(比如Web服务器关闭),它会调用Servlet的destroy()方法使servlet停止服务并被清除掉。与一般的java实例不再被使用的情况一样,Java虚拟机会负责垃圾收集工作。 4.关于多线程service() 一般的Web容器可以支持使用一个Servlet服务多个客户的Http请求,当这些请求几乎同时到达Web服务器时,Web容器可以让servlet在service()方法中使用多线程,这样可以并行处理多个Web请求。另外一种方法是由Web容器创建一个servlet的多个实例,每个servlet实例可以使用其service()方法单独处理Http请求。多线程或多实例都依赖于Web容器管理,虽然servlet编程人员需要理解这些概念,但般不需自己写servlet线程的程序。
分享到:
评论

相关推荐

    Servlet-Servlet生命周期

    ### Servlet生命周期详解 #### 一、引言 在Java Web开发中,Servlet作为一种重要的技术,被广泛应用于构建动态网页和处理客户端请求。了解Servlet的生命周期对于深入理解和掌握Servlet的工作机制至关重要。本文将...

    servlet生命周期详解

    初始化阶段是整个Servlet生命周期的第一个关键步骤,它标志着Servlet的开始。此阶段主要由以下步骤组成: 1. **Servlet容器加载Servlet类**:Servlet容器负责加载Servlet类,并将.Class文件的数据读入内存。这一...

    servlet生命周期演示代码

    ### Servlet 生命周期演示代码详解 #### 一、Servlet 生命周期概述 在深入分析代码之前,我们先来了解一下 Servlet 的生命周期。Servlet 的生命周期主要包括三个阶段:初始化 (`init` 方法)、请求处理 (`service` ...

    SERVLET生命周期与JSP生命周期比较

    ### SERVLET生命周期与JSP生命周期比较 #### 一、引言 在现代Web开发中,Servlet和JSP是两种非常重要的技术,它们都属于Java EE平台的一部分,主要用于构建动态Web应用程序。这两种技术各有特点,但又紧密相关,...

    Servlet 介绍 以及Servlet生命周期(详细)

    **Servlet生命周期** Servlet的生命周期可以分为三个主要阶段:初始化、服务和销毁。 1. **初始化阶段**: - 当Servlet首次被请求或者在web应用启动时,容器(如Tomcat)会加载Servlet类,并调用`init()`方法进行...

    servlet生命周期

    #### 三、Servlet生命周期详解 ##### 实例化 - **按需创建**:默认情况下,当第一次HTTP请求到达时,容器会创建Servlet的实例。 - **预加载**:通过在`web.xml`中配置`<load-on-startup>`标签,可以在应用启动时...

    解读servlet生命周期

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

    servlet生命周期和模版设计模式

    Servlet生命周期和模板设计模式是Java Web开发中的两个关键概念,它们在构建动态Web应用程序时起着至关重要的作用。 首先,让我们深入理解Servlet的生命周期。Servlet是Java编程语言中的一种接口,用于扩展服务器的...

    Servlet 生命周期.pdf

    在Servlet生命周期中,init()方法只会被调用一次,service()方法会在每次用户请求时被调用,destroy()方法只会被调用一次,在Servlet生命周期结束时被调用。Servlet生命周期的正确实现是保证Servlet正确运行的关键。

    java servlet生命周期

    java servlet生命周期 java servlet生命周期

    servlet生命周期详细图解(矢量图)

    servlet生命周期详细图解,矢量图。 详细的解释请参考本人博客:http://blog.csdn.net/dwyers/article/details/38435949

    Servlet生命周期示意图

    关于对Servlet声明周期的图例示意!

    Servlet生命周期,http

    Servlet生命周期主要包括三个阶段:加载、初始化和销毁。当Web容器启动或者第一次接收到对Servlet的请求时,Servlet会被加载并实例化。然后,调用`init()`方法进行初始化,这个方法可以用来设置Servlet的初始状态...

    Java WEB 篇七 Servlet 生命周期.xmind

    Java WEB 篇七 Servlet 生命周期

Global site tag (gtag.js) - Google Analytics