Servlet的生命周期

JavaWeb应用的生命周期由Servlet容器来控制,而Servlet作为JavaWeb应用的最核心的组件,其生命周期也由Servlet容器来控制。Servlet的生命周期可以分为三个阶段:初始化阶段、运行时阶段和销毁阶段。在javax.servlet.Servlet接口中定义了三个方法:init()、service()和destroy(),它们将分别在Servlet的不同阶段被Servlet容器调用。

1.初始化阶段:包括四个步骤

(1) Servlet容器加载Servlet类,把它的.class文件中的数据读入到内存中。
(2) Servlet容器创建ServletConfig对象。ServletConfig对象包含了特定Servlet的初始化配置信息,如Servlet的初始化参数。此外,Servlet容器还会使得ServletConfig对象与当前web应用的ServletContext对象关联。
(3) Servlet容器创建Servlet对象。
(4) Servlet容器调用Servlet对象的init(ServletConfig config)方法。

在下列情况之一,Servlet会进入初始化阶段:

(1) 当前web应用处于运行时阶段,特定Servlet被客户端首次请求访问。多数Servlet都会在这种情况下被Servlet容器初始化。
(2) 如果在web.xml文件中为一个Servlet设置了<load-on-startup>元素,那么当Servlet容器启动Servlet所属的web应用时,就会初始化这个Servlet。

2.运行时阶段:

这是Servlet的生命周期中最重要的阶段。在这个阶段,Servlet可以随时响应客户端的请求。当Servlet容器接收到要求访问特定Servlet的客户请求时,Servlet容器会创建针对于这个请求的ServletRequest对象和ServletResponse对象,然后调用相应Servlet对象的service()方法。service()方法从ServletRequest对象中获得客户请求信息并处理该请求,再通过ServletResponse对象生成响应结果。
当Servlet容器把Servlet生成的响应结果发送给了客户,Servlet容器就会销毁ServletRequest对象和ServletResponse对象。

3.销毁阶段:

当web应用被终止时,Servlet容器会先调用web应用中所有Servlet对象的destroy()方法,然后再销毁这些Servlet对象。在destroy()方法的实现中,可以释放Servlet所占用的资源。此外,容器还会销毁与Servlet对象关联的ServletConfig对象。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值