`
drilling_liny
  • 浏览: 2893 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

servlet_2

阅读更多

 在servlet_1中讲到过,Servlet的框架是由两个Java包组成:

– javax.servlet包:定义了所有的Servlet类都必须实现或扩展的通用接口和类。

– javax.servlet.http包:定义了采用HTTP协议通信的HttpServlet类。

 

Servlet的生命周期

·Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。在Servlet接口中定义了五个方法,其中有三个方法代表了Servlet的生命周期:

– init方法:负责初始化Servlet对象;

– service方法:负责响应客户的请求;

– destroy方法:当Servlet对象退出生命周期时,负责释放占用的资源。

 

·Servlet 的生命周期可以分为三个阶段:(其后为对应阶段Servlet容器调用的方法)

– 初始化阶段,init()

– 响应客户请求阶段 ,service()

– 终止阶段,destroy()

 

 初始化阶段

·在下列时刻Servlet容器装载Servlet:

– 在Servlet容器启动后,客户首次向 Servlet 发出请求

– Servlet的类文件被更新后,重新装载Servlet

– Servlet容器启动时自动装载某些Servlet

 

·Servlet被装载后,Servlet容器创建一个 Servlet 实例并且调用 Servlet 的init()方法进行初始化。在Servlet的整个生命周期中,init方法只会被调用一次。

 

 

验证初始化:

(1)在Servlet容器启动后,客户首次向 Servlet 发出请求。

创建一个测试用servlet:

public class initServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.print("doGet invoked");
	}
	
	@Override
	public void init() throws ServletException {
		System.out.print("init invoked");
	}
}

 

 开启服务器(本次测试使用tomcat服务器),打开浏览器,第一次访问该initServlet,得到结果:

从结果可以看到,init方法只在Servlet转载的时候调用过一次,在服务器重启或者更新之前都不会执行第二次。Servlet的类文件被更新后,重新装载Servlet的初始化情况与此类似。以上实验涉及道德两种情况均是需要服务器接收到客户端的请求,才对Servlet进行加载的。

 

(2)Servlet容器启动时自动装载某些Servlet

在上面实验的基础之上,修改web项目的web.xml文件。找到配置initServlet的标签处,并添<load-on-startup>元素。

 

<servlet>
    <servlet-name>initServlet</servlet-name>
    <servlet-     class>com.gmail.sillyli123456789.servlet.initServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<load-on-startup>元素表示在服务器启动的时候,自动加载指定的Servlet。其中的数字代表,当有多个Servlet需要被自动的加载时的先后顺序。

 

在服务器启动的过程中,可以看到:

 

打开浏览器,访问该initServlet,得到结果:

同时再一次证明了在Servlet的整个生命周期中,init方法只会被调用一次。
 

 

 

 

 

 

 

 

  • 大小: 90.1 KB
  • 大小: 9.9 KB
  • 大小: 4.8 KB
分享到:
评论

相关推荐

    白色简洁风格的软件UI界面后台管理系统模板.zip

    白色简洁风格的软件UI界面后台管理系统模板.zip

    自动软包电芯极耳短路测试精切一体机sw17可编辑全套技术资料100%好用.zip

    自动软包电芯极耳短路测试精切一体机sw17可编辑全套技术资料100%好用.zip

    RuntimeException如何解决.md

    RuntimeException如何解决.md

    云链客服需要注意的事项

    定期分析系统的投资回报率(ROI)是确保企业在实施云链客服系统后获得实际效益的关键步骤。以下是一个系统的框架和方法,帮助您有效地进行投资回报率分析。 投资回报率(ROI)分析框架 一、定义投资回报率 投资回报率(ROI)是衡量投资效率的指标,通常通过以下公式计算: ROI= 成本 收益−成本 ​ ×100% 收益:通过实施系统所带来的直接经济利益,例如收入增加、成本节省等。 成本:系统的实施和运营成本,包括初始投资和持续运营费用。 二、确定收益来源 直接收益 销售增长:由于客服系统提升了客户满意度和响应速度,导致客户购买量增加。 客户保留率提高:系统帮助降低客户流失率,保持长期客户关系。 跨卖和追加销售:通过更好的客户互动和数据分析,提升交叉销售和追加销售的机会。 间接收益 运营效率提升:客服人员的工作效率提高,能够处理更多客户请求,减少人力成本。 品牌形象增强:客户体验的改善有助于提升品牌形象,吸引新客户。 客户忠诚度提升:满意的客户更可能成为回头客,提升长期收益。

    白色简洁风格的室内设计案例源码下载.rar

    白色简洁风格的室内设计案例源码下载.rar

    (177373454)html+css+js学习代码.zip

    html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+j

    三相逆变 单相 三相逆变器 SPWM -stm32主控(输入、输出具体可根据需要设定),本逆变器可以二次开发 本内容只包括 逆变程序,实现变频(0~100Hz)、变压调节,均有外接按键控制(使用

    三相逆变 单相 三相逆变器 SPWM ---stm32主控(输入、输出具体可根据需要设定),本逆变器可以二次开发。 本内容只包括 逆变程序,实现变频(0~100Hz)、变压调节,均有外接按键控制(使用C语言实现)。

    基于STM32单片机的激光雕刻机控制系统设计-含详细步骤和代码

    内容概要:本文详细介绍了基于STM32单片机的激光雕刻机控制系统的设计。系统包括硬件设计、软件设计和机械结构设计,主要功能有可调节激光功率大小、改变雕刻速率、手动定位、精确雕刻及切割。硬件部分包括STM32最小系统、步进电机驱动模块、激光发生器控制电路、人机交互电路和串口通信电路。软件部分涉及STM32CubeMX配置、G代码解析、步进电机控制、激光功率调节和手动定位功能的实现。 适合人群:对嵌入式系统和激光雕刻机感兴趣的工程师和技术人员。 使用场景及目标:① 适用于需要高精度激光雕刻的应用场合;② 为开发类似的激光雕刻控制系统提供设计参考。 阅读建议:本文提供了详细的硬件和软件设计方案,读者应结合实际应用场景进行理解,重点关注电路设计和代码实现。

    北航软件体系架构.7z

    北航软件体系架构.7z

    白色简洁风格的高端汽车预订企业网站源码下载.zip

    白色简洁风格的高端汽车预订企业网站源码下载.zip

    白色宽屏风格的时尚摄影图片网站模板下载.zip

    白色宽屏风格的时尚摄影图片网站模板下载.zip

    (31028834)大数据技术之Hadoop(入门).docx

    ### 大数据技术之Hadoop(入门)知识点详解 #### 第1章 大数据概论 ##### 1.1 大数据概念 大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。这些数据具有体量巨大、来源多样化、格式复杂等特点。 ##### 1.2 大数据特点(4V) **Volume(体量大)**:指的是数据量非常庞大。 **Velocity(速度快)**:指数据产生的速度极快。 **Variety(多样性)**:指数据类型多样,不仅限于结构化数据,还包括大量半结构化和非结构化数据。 **Value(价值密度低)**:尽管数据总量很大,但真正有价值的信息可能只占一小部分。 ##### 1.3 大数据应用场景 - **金融行业**:风险控制、精准营销、反欺诈等。 - **零售行业**:客户行为分析、库存管理优化等。 - **医疗健康**:疾病预测、个性化治疗方案制定等。 - **交通物流**:智能交通系统、物流路径优化等。 ##### 1.4 大数据发展前景 随着物联网、云计算等技术的发展,大数据的应用场景将会更加广泛。预计未来几年内,大数据技术将更加成熟,处理能力更强,为

    UnknownHostException(解决方案).md

    UnknownHostException(解决方案).md

    LP3_PLC程序培训_01.zip

    LP3_PLC程序培训_01.zip

    白色简洁风格的重型汽车销售企业网站源码下载.zip

    白色简洁风格的重型汽车销售企业网站源码下载.zip

    白色简洁风格的摄影图片模板下载.zip

    白色简洁风格的摄影图片模板下载.zip

    白色宽屏风格的农家乐有机蔬菜企业网站模板.rar

    白色宽屏风格的农家乐有机蔬菜企业网站模板.rar

    北航智能自主系统.7z

    北航智能自主系统.7z

    白色简洁风格的网络实验室CSS模板.zip

    白色简洁风格的网络实验室CSS模板.zip

    (175218226)利用仿真实现定时器设计的门铃

    门铃是日常生活中常见的一种设备,它通过发出声音来通知人们有访客或者有其他重要事件发生。在信息技术领域,特别是在嵌入式系统中,利用单片机设计定时器门铃是一项基础且实用的技术实践。单片机,即单片微型计算机,因其集成度高、成本低、应用广泛,常被用于各种控制系统的开发。本文将详细探讨如何使用单片机实现定时器门铃的设计。 我们需要了解单片机的基本结构。单片机通常包括CPU、存储器(ROM和RAM)、定时/计数器、输入/输出接口等组成部分。其中,定时/计数器是实现定时器功能的关键。它可以通过对内部时钟脉冲的计数来达到定时的效果,或者对外部事件的计数来实现计数功能。 在设计定时器门铃时,我们会用到单片机的定时器功能。定时器工作模式通常有多种,如自由运行模式、捕获模式、比较模式等。对于门铃应用,我们可能选择自由运行模式,设置一个预设的时间间隔,当定时器溢出时,触发中断,从而启动门铃音效。 实现门铃的代码主要包括以下几个部分: 1. 初始化定时器:这一步通常包括设置定时器的工作模式、初值、分频系数等。例如,我们可以选择定时器工作在自动重装载模式,并设定合适的初值,使得定时器在一定时间后溢出。 2. 中断

Global site tag (gtag.js) - Google Analytics