Servlet的生命周期

(一)JSP/Servlet的生命周期

JSP的本质就是Servlet,开发者编写的JSP页面将有web容器编译成对应的Servlet,当Servlet在容器中运行时,其实例的创建及销毁等都不是由程序员决定的,而是由web容器进行控制的。

创建Servlet实例有两个时机:

1.客户端第一次请求某个Servlet时,系统创建该Servlet的实例:大部分的Servlet都是这种Servlet。

2.web应用启动时候立即创建Servlet实例,即load-on-startup Servlet

每个Servlet的运行都遵行如下生命周期

(1)创建Servlet实例

(2)web容器调用Servlet的init方法,对Servlet进行初始化

(3)Servlet初始化后,将一直存在于容器中,用于响应客户端的请求。如果客户端发送GET请求,容器调用Servlet的doGet方法处理并响应请求;如果客户端发送doPost请求,容器调用Servlet的doPost方法处理并响应请求。或者同一使用Service方法来处理响应用户请求。

(4)web容器决定销毁Servlet时,先调用Servlet的destroy方法,通常在关闭web应用之时销毁Servlet。


(二)load-on-startup Servlet

在Servlet创建的两个时机当中,其中Web容器启动时就创建Servlet,通常是用于某些后台服务的Servlet,或者需要拦截很多的请求的Servlet;这种Servlet通常作为应用的基础Servlet使用,提供重要的后台服务。

配置load-on-startup的Servlet有两种方式:

(1)在web.xml文件中通过<servlet·······/>元素的<load-on-startup······/>子元素进行配置

(2)通过@WebServlet Annotion的loadOnStartup属性指定。

<load-on-startup·······/>元素或loadOnStartup属性都只是接受一个整型值,这个整型值越小,Servlet就越优先实例化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值