servlet的生命周期

Servlet 的生命周期

 Servlet 没有main方法,不能独立运行,它的运行完全由 Servlet 引擎来控制和调度。所谓生命周期,指的是 servlet 容器何时创建 servlet 实例、何时调用其方法进行请求的处理、何时并销毀其实例的整个过程。

●实例和初始化时机

当请求到达容器时,容器查找该 servlet 对象是否存在,如果不存在,则会创建实例并进初始化。

●就绪/调用/服务阶段

有请求到达容器,容器调用 servlet 对象的 service (方法处理请求的方法在整个生命周期中可以被多次调用;

 HttpServlet 的 service (方法,会依据请求方式来调用 doGet ()或者doPost0)方法。但是,这两个 do 方法默认情况下,会抛出异常,需要子类去 override 。

●销毁时机

当容器关闭时(应用程序停止时),会将程序中的 Servlet 实例进行销毁。

上述的生命周期可以通过 Servlet 中的生命周期方法来观察。在 Servlet 中有三个生命周期方法,不由用户手动调用,而是在特定的时机有容器自动调用,观察这三个生命周期方法即可观察到 Servlet 的生命周期。

 init 方法,在 Servlet 实例创建之后执行(证明该 Servlet 有实例创建了) 

public void init (Serv1etConfig config ) throws Serv1etException{

 System . out .print1n("实例创建了..");

 service 方法,每次有请求到达某个 Servlet 方法时执行,用来处理请求(证明该 Servlet 进行服务了)

Tomcat和servlet交互流程分析:

1. Web Client 向 Servlet 容器( Tomcat )发出 Http 请求

2. Servlet 容器接收 Web Client 的请求

3. Servlet 容器创建一个 HttpServletRequest 对象,将 Web Client 请求的信息封装到这个对象中

4. Servlet 容器创建一个 HtpServletResponse 对象

5. Servlet 容器调 HttpServlet 对象 service 方法,把 Request 与 Response 作为参数,传给 HttpServlet 

6. HttpServlet 调用 HttpServletRequest 对象的有关方法,获取 Http 请求信息

7. HttpServlet 调用 HttpServletResponse 对象的有关方法,生成响应数据

8. Servlet 容器把 HttpServlet 的响应结果传给 Web Client

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值