servlet生命周期和特征介绍

1. servlet介绍

servlet从宏观上来讲,servlet是连接web服务器和web引用程序的协议。是一种通信规范,只是这个规范是通过接口的形式来体现。

通常来说,servlet是宏观上servlet规范中的一个具体的接口,servlet规范中包含一套接口,而servlet接口仅仅是其中之一。

微观上讲,servlet是servlet接口实现类的一个实例对象,是运行在服务器上的一段java小程序,即server applet,也就是servlet这个单词的由来。

servlet的主要功能是根据用户端的请求,调用服务器端的相关java代码,完成对客户端请求的处理和运算。

 

1.1 servlet的生命周期

所谓servlet生命周期是指,servlet对象的创建、servlet对象的初始化、servlet对象服务的执行,以及最终servlet对象被销毁的整个过程。

servlet的整个生命周期过程的执行,均由web服务器负责管理。即servlet从创建到服务销毁的整个过程中方法的调用,都是由web服务器负责调用执行,程序员无法控制其执行流程。

但是程序员可以获取到servlet的这些生命周期时间点,并可以指定让servlet做一些具体业务相关的事情。

1.1.1 servlet的执行流程

1.1.2 servlet特征

1. servlet是单例多线程的

2. 一个servlet实例只会执行一次无参构造方法和init()方法,并且是在第一次被访问的时候。

3. 每提交一次对servlet的请求,就会执行一次service()方法。

4. 一个servlet实例只会执行一次destroy()方法,在应用停止执行时.

5. 由于servlet是单例多线程的,所以为保其线程安全性,一般是不会为servlet类定义可修改的成员变量的。因为若有多个线程均可修改这个成员变量,就会出现线程安全问题。

6. 默认情况下,servlet在web容器启动时是不会被实例化的,一般在第一次被访问的时候进行实例化.

1.1.3 web容器启动时创建servlet实例

在servlet注册时,添加<load-on-startup>0</load-on-startup>标签,标签值为正整数类型,数值越大代表的优先级越高。

<servlet>
<!--注册servlet-->
 <servlet-name>some-servlet</servlet-name>
 <servlet-class>com.servlets.SomeServletDemo</servlet-class> 
 <load-on-startup>1</load-on-startup> // 启动web容器时,实例化SomeServletDemo类,优先级为1。 </servlet>

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值