面试题——Servlet的生命周期

Servlet的生命周期

Servlet生命周期和工作原理

         Servlet生命周期可以分为三个阶段:1、初始化阶段2、响应客户阶段3、终止阶段

在javax.servlet.Servlet接口中定义了三个方法init(),service(),destroy(),它们将分别在Servlet不同的阶段被调用。

 

Servlet的初始化阶段

         在下列时刻Servlet容器装载Servlet:1、servlet容器启动后会自动装载某些实现它只需要在web.XML文件中的<Servlet></Servlet>之间添加如下代码:

<loadon-startup>1</loadon-startup>Servlet

 2、在servlet容器启动后,客户首次向Servlet容器发出请求。3、Servlet的文件被更新后,重新装载Servlet。

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

Servlet的响应客户请求阶段

         对于到达Servlet容器的客户请求,Servlet会创建针对这个请求的HttpRequest对象和HttpResponse对象,然后调用Servlet的service方法。Service方法从ServletRequest对象获得客户请求信息、处理该请求,并通过ServletResponse对象向客户端返回响应结果。

Servlet的终止阶段

         当Web应用被终止,或Servlet容器终止运行,或Servlet容器重新装载Servlet的新实例时,Servlet容器会调用Servlet的destory方法。在destory方法中,可以释放Servlet所占用的资源。

Servlet工作原理:
  首先简单解释一下Servlet接收和响应客户请求的过程,首先客户发送一个请求,Servlet是调用service()方法对请求进行响应的,通过源代码可见,service()方法中对请求的方式进行了匹配,选择调用doGet,doPost等这些方法,然后再进入对应的方法中调用逻辑层的方法,实现对客户的响应。在Servlet接口和GenericServlet中是没有doGet,doPost等等这些方法的,HttpServlet中定义了这些方法,但是都是返回error信息,所以,我们每次定义一个Servlet的时候,都必须实现doGet或doPost等这些方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值