【Java.Web】Servlet —— Servlet(JavaWeb)的生命周期

Java Web的生命周期

Java Web的生命周期是由Servlet容器来控制的,Java Web应用的声明周期包括三个阶段:

启动阶段

  • 把web.xml文件加载到内存中
  • 为Java Web应用创建一个ServletContext对象
  • 对所有的Filter进行初始化
  • 对那些需要在Web应用启动时就被初始化的Servlet进行初始化

运行阶段

加入客户端请求的Servlet还不存在,Servlet容器会先初始化Servlet,然后再调用它的service()服务方法。


终止阶段

  • 销毁Java Web应用中所有处于运行时状态的Servlet
  • 销毁所有处于运行时状态的Filter
  • 销毁所有与Java Web应用相关的对象,如ServletContext对象等,并且释放Web应用所占用的相关资源


Servlet的生命周期

初始化阶段

  • Servlet容器加载Servlet类,把它的.class文件中的数据读入内存中
  • Servlet容器创建ServletConfig对象,Servlet对象包含了特定的Servlet的初始化配置信息,将ServletConfig对象与当前Web应用的ServletContext对象关联
  • Servlet容器创建Servlet对象
  • Servlet容器调用Servlet对象的init()方法

以上过程将servlet,servletconfig,servletcontext相关联。


在以下情况下,Servlet会进入初始化阶段:

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

注意:即使两个Servlet的class一样,也会生成两个Servlet对象,因为它们的ServletConfig可能是不同的


运行时阶段

当Servlet容器接受到要求访问特定Servlet的客户请求时,Servlet容器会创建针对这个请求的ServletRequest和ServletResponse,然后调用相应 Servlet对象的service()方法。

当Servlet容器把Servlet生成的响应结果发送给了客户,Servlet容器就会销毁ServletRequest对象和ServletResponse对象。


销毁阶段

调用servlet对象的destroy()方法,还会销毁与Servlet对象关联的ServletConfig对象。






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值