`

Servlet的三个方法init Service destroy

阅读更多

Servlet的生命周期是一种非常简的面向对象的设计.servlet首先被创建并进行初 始化,然后开始对零人或多个请求提供服务,直至关闭为止.此时,servlet停止运行,所有的垃圾被收集起来.这种设计解释了为什么servlet是比 CGI好的换代技术:servlet只须加载一次,它驻留内存中,并对请求提供服务

       javax.servlet.Servlet接口说明了这个框架结构.Servlet接口定义了生命周期方法,这些方法是init()、service()、destroy()方法。

 

1.init()方法

       Init()方法是servlet生命的起点。一旦加载了某个servlet,服务器将立即调用它的init()方法。在init()方法中,servlet创建和初始化它在处理请求时需要用到的资源。init()方法的语法定义如下:

       public void init(ServletConfig config) throws ServletException;

init()方法使用ServletConfig对象作为参数.用户应当保存这个对象,以便在后面引用。实现这一点最通用的方法是让init()方法调用super.init(),并把ServletConfig对象传送给它

       如果servlet不能对处理请求所需要的资源进行初始化,init()方法将抛出ServletException异常

 

2。Service()方法

       Service()方法处理客户机发出的所有请求。在init()方法执行之前,它无法开始对请求提供服务,通常,我们不能直接实现这个方法,除非对GenerieServlet抽象类进行扩展。

       实现service()方法最通用的办法是在HttpServlet类中实现。HttpServlet类通过扩展GenericServlet实现 Servlet接口,而service()方法通过确定请求类型和调用适当的方法,支持标准的HTTP/1.1请求。service()方法的语法定义如 下:

       Public void service(ServletRequest req,ServletResponse res)

       Throws ServletException,IOException;

service()方法实现了请求各响应过程,ServletRequest对象包含服务请求信息,并对客户机提供的信息进行封装。ServletResponse对象包含返回给客户机的信息。

3。destroy()方法

       destroy()方法标志servlet生命周期的结束。当服务需要关闭时,它调用servlet的destroy()方法。此时,在init()方法 中创建的任何资源都应该被清除和释放。如果有打开的数据库连接,应当在此处保存任何在下一次加载时需要用到的永久性信息。destroy()方法的语法定 义非常简单,但我们还是在下列了出来:

       public void destroy();

分享到:
评论

相关推荐

    着装分割-基于NCNN+YOLOv8-Seg实现行人着装分割算法-附项目源码+流程教程-优质项目实战.zip

    着装分割_基于NCNN+YOLOv8-Seg实现行人着装分割算法_附项目源码+流程教程_优质项目实战

    自动打标-基于SAM+SAM2实现的交互式半自动图像标注工具-附项目源码-优质项目实战.zip

    自动打标_基于SAM+SAM2实现的交互式半自动图像标注工具_附项目源码_优质项目实战

    Delphi 12 控件之Delphi 12 版本 俄罗斯方块.rar

    Delphi 12 版本 俄罗斯方块.rar

    yonghu.sql11111

    yonghu.sql11111

    设计模式-C#1111

    设计模式-C#1111

    基于Blinker的蓝牙控制,使用esp32,8管,自动休眠、氛围灯、休眠和唤醒渐变、音乐闹钟

    【作品名称】:基于Blinker的蓝牙控制,使用esp32,8管,自动休眠、氛围灯、休眠和唤醒渐变、音乐闹钟 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 各项设置与闹钟时间断电后仍会保留 触摸包含两个控制触摸按键和一个电源触摸按键 短按:设置分钟 长按:设置小时 同时短按:改变时钟模式,四种模式包括时钟显示、时间线时钟显示和时间线随机显示 同时长按:改变灯光模式,包括单色显示、呼吸、渐变、七彩,切换和唤醒都有过渡动画 闹钟只支持mp3文件放在sd卡根目录下,可放置多个音乐,每一次响铃会改变歌曲 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。

    Matlab-使用Matlab实现的免疫优化算法在物流配送中心选址中的应用-优质项目实战.zip

    Matlab_使用Matlab实现的免疫优化算法在物流配送中心选址中的应用_优质项目实战

    unit2_eg.sql

    unit2_eg.sql

    【电力负荷预测】基于matlab灰狼算法优化长短时记忆网络GWO-LSTM电力负荷预测【含Matlab源码 1518期】.zip

    CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:Main .m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除Main.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    Kafka 50道面试题和答案(2025最新版).docx

    Kafka 50道面试题和答案(2025最新版)

    SLAM-混合稀疏视觉测距-优质项目实战.zip

    SLAM_混合稀疏视觉测距_优质项目实战

    JavaSE 面试题(2025最新版).docx

    JavaSE 面试题(2025最新版)

    spacedesk屏幕扩展软件

    将安卓设备秒变电脑第二屏幕

    系统的分析与设计外文及翻译

    外文翻译 英文原版: The Design and Development of the Students' Information Management System As information technology advances, various management systems have emerged to change the daily lives of the more coherent, to the extent possible, the use of network resources can be significantly reasonable reduction of manual management inconvenience and waste of time. Accelerating the modernization of the 21st century, the continuous improvement of the scientific and cultural levels, the rapid growth of

    Swift编程语言基础语法入门详解及其应用场景

    内容概要:本文档全面介绍了Swift编程语言的基础语法,包括Swift的历史和特性、与其他语言(尤其是Objective-C)的比较、基本语法、数据类型、控制结构、函数和闭包的使用、结构体和类的定义、错误处理、协议的应用、以及Swift标准库中的字符串、数字和日期操作等。通过详细的示例和解释,帮助读者快速掌握Swift的基础知识和实际应用技巧。 适合人群:初学者和有一定编程基础但未接触过Swift的开发人员。 使用场景及目标:本文档旨在帮助读者了解和掌握Swift编程语言的基础语法,适用于希望从事iOS和macOS应用开发的技术人员。通过学习本文档,读者可以逐步进阶,构建更为复杂的Swift应用程序。 其他说明:Swift作为一种现代化的编程语言,其易用性和强大功能使其成为了苹果平台开发的首选语言。本文档不仅覆盖了基本语法,还包括了面向对象编程的重要概念和实战技巧。

    SpringBoot 47道面试题和答案(2025最新版).docx

    SpringBoot 47道面试题和答案(2025最新版)

    SLAM-适配Windows平台的ORB-SLAM3-优质项目实战.zip

    SLAM_适配Windows平台的ORB-SLAM3_优质项目实战

    MATLAB实现BiTCN-BiGRU-Attention多变量时间序列预测(含完整的程序和代码详解)

    内容概要:本文详细介绍了一个基于Bi-directional Temporal Convolutional Network (BiTCN) 和 Bi-directional Gated Recurrent Unit (BiGRU),结合注意力机制的多变量时间序列预测模型。该模型适用于气象预测、经济数据分析等多个领域,能够在多种时间序列数据中提取有效特征,提高预测准确性。项目的特点包括多变量输入、高效特征提取、注意力机制和用户友好的GUI界面。文中还提供了详细的环境准备、数据准备、模型实现、GUI设计以及结果评估等方面的代码实现。 适合人群:具备一定机器学习基础和MATLAB使用经验的研发人员、数据科学家。 使用场景及目标:① 在气象预报、股票市场分析、工业生产监控、交通流量预测等领域中应用;② 学习并实现基于BiTCN、BiGRU和注意力机制的时间序列预测模型,提升预测准确性。 其他说明:需要注意数据预处理和超参数选择,它们对模型性能有很大影响。未来的改进方向包括集成更多的模型、引入迁移学习和优化超参数调整方法。

    基于Vue的工业园区智能公寓管理系统.js+SpringBoot+MySQL开发,高分成品毕

    基于Vue的工业园区智能公寓管理系统.js+SpringBoot+MySQL开发,高分成品毕业设计,附带往届论文、启动教程、讲解视频、二次开发教程和配套安装包文件 ,拿到就可以作为计算机毕业设计或课

Global site tag (gtag.js) - Google Analytics