`
阅读更多

servlet 学习笔记之二

——关于 Servlet 生命周期

 

 

写这篇总结的时候,已经辞职有好几天了。去北京还没有买到票, 4 月前,北京、上海、拉萨等地方的火车票都没有了,还好我不急着走。

 

下面总结了 servlet 的生命周期。

Servlet 运行在 Servlet 容器中,其生命周期由容器来管理。 Servlet 的生命周期通过 Servlet 接口中 init ()、 service ()、 destroy ()方法来表示。

Servlet 的生命周期包含了下面 4 个阶段。

(1)       加载和实例化

Servlet 容器负责加载和实例化 Servlet 。当 Servlet 容器启动时,或者在容器检查到需要这个 Servlet 来响应一个请求时,创建 Servlet 实例。当 Servlet 容器启动后,它必须要知道所需的 Servlet 类在什么位置, Servlet 容器可以从本地文件系统、远程文件系统或者其他网络服务器中通过类加载器加载 Servlet 类,成功加载后,容器创建 Servlet 实例。因为容器是通过 Java 的反射 API 来创建 Servlet 实例,调用的是 Servlet 的默认构造函数,也就是那个不带参数的构造函数,所以我们在编写 Servlet 类的时候,不应该提供带参数的构造函数。——这也就是为什么 Servlet 类可以不写构造函数的原因。

(2)       初始化

Servlet 实例化之后,容器必须调用 Servlet init ()方法初始化这个对象。初始化的目的是为了让 Servlet 对象在处理客户请求前完成一些初始化工作,如建立数据库连接,获取配置信息等。对于每一个 Servlet 实例, init ()方法只能被调用一次。在初始化期间, Servlet 实例可以使用容器为它准备的 ServletConfit 对象从 web 应用程序的配置信息(在 web.xml 中配置)中获取初始化的参数信息。在初始化期间,如果发生错误, Servlet 实例可以抛出异常来通知容器。

(3)       请求处理

Servlet 容器调用 Servlet service ()方法对请求进行处理。要注意的是,在 service ()方法调用之前, init ()方法必须成功执行。在 service ()方法中, servlet 实例通过 ServletRequest 对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用 servletResponse 对象的方法设置响应信息。

(4)       服务终止

当容器检测在一个 Servlet 实例应该从服务中被移除的时候,容器就会调用实例的 destroy ()方法,以便让该实例可以释放它所使用的资源,保存数据到持久存储设备中。当需要释放内存或者容器关闭时,容器就会调用 Servlet 实例的 destroy ()方法。在调用 destroy ()方法后,容器会释放这个 Servlet 实例,该实例随后会被 java 的垃圾收集器回收。

 

在整个 Servlet 的生命周期过程中,创建 Servlet 实例、调用实例的 init ()和 destroy ()方法都只进行一次,当初始化完成后, Servlet 容器会将该实例保存在内存中,通过调用它的 service ()方法,为接收到的请求服务。

分享到:
评论

相关推荐

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 共三卷

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷

    Java相关课程系列笔记之九Servlet学习笔记

    Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...

    Servlet学习笔记(java的Servlet)

    Servlet学习笔记(java的Servlet)。 jsp的学习基础。此笔记可让你5天内学会使用Servlet,可快速入门,也可当手册使用。 更多:http://download.csdn.net/user/daillo/all

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,...《JSP & Servlet学习笔记(第2版)》以“微博”项目贯穿全书,将JSP & Servlet技术应用于实际项目开发之中,并使用重构方式来改进应用程序架构。

    JSP&Servlet学习笔记.pdf

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。  本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...

    林学良Jsp&Servlet学习笔记

    **林学良Jsp&Servlet学习笔记**: 这份学习资料可能是对JSP和Servlet基础知识的系统性讲解,涵盖了上述概念和原理,适合初学者入门。通过阅读这份笔记,你可以了解JSP和Servlet的基本语法、生命周期、以及如何将它们...

    [JSP&Servlet;学习笔记(第2版)]

    **JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。

    jsp&servlet学习笔记(第2版)光盘

    jsp&servlet学习笔记(第2版)光盘,买书附赠光盘,完片版本。

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...

    JSP-Servlet学习笔记第2版.pdf

    由于直接学习笔记的内容没有给出具体的实例代码和详细解释,所以这里只提供了理论层面的知识点。如果需要学习具体实现,可以寻找相关的教程和项目实践来加深理解。同时需要注意的是,由于JSP/Servlet技术相对老旧,...

    JSP & Servlet学习笔记(第2版)

    JSP & Servlet学习笔记(第2版),高清完整版,学习servlet和jsp的经典教材,推荐! 出版时间:2012-05-01,林信良 著

    [JSP&Servlet学习笔记(第2版)] 林信良

    [JSP&Servlet学习笔记(第2版)] 林信良

    JSP_Servlet学习笔记(第2版)

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP &Servlet;时遇到的概念、操作、应用或认证考试等问题及解决方案。  本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...

    Servlet学习笔记

    ### Servlet学习笔记精炼知识点 #### 一、Servlet初始化与加载机制 1. **Servlet注册与实例化**:在Web应用中,一个Servlet的生命周期始于它的注册与实例化过程。通常,这一过程是在Web服务器启动时,根据`web.xml...

    jsp/servlet个人学习笔记

    学习 JSP 和 Servlet 要注重理论与实践相结合,不仅要理解它们的工作原理,还要通过编写实际项目来提升技能。同时,不断关注新技术,如 Spring Boot 和微服务架构,这将有助于你更好地适应 Java Web 开发的未来趋势...

    JSP&Servlet学习笔记(第2版)_打印版

    根据提供的文件信息,标题为“JSP&Servlet学习笔记(第2版)_打印版”,描述指出文档经过空白边裁剪处理以便于打印。虽然提供的部分内文无法直接转化为明确的知识点,但我们可以根据标题和描述推测该文档的主要内容,...

    JSP & Servlet学习笔记

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。, 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...

Global site tag (gtag.js) - Google Analytics