浅谈Servlet 生命周期

先从一张图来看看servlet声明周期:

        首先确保服务器开启的前提下,从浏览器上申请服务器的地址并根据请求路径定位到具体的servlet,向服务器发起请求,这时一个servlet的生命周期就开始了,servlet生命周期可分为以下四个阶段:实例化,初始化,服务,销毁

第一阶段:实例化

        当发起请求后,会调用该Servlet类构造方法,进行实例化(创建该Servlet类的实例),如下图,就算不手动创建无参构造方法,也会自动调用默认的无参构造实例化servlet

 第二阶段:初始化

        实例被创建后,会执行 init()方法初始化该servlet实例,要注意的是,如果程序中没有自己重写 init()方法,会调用HttpServlet父类的init()方法执行相应逻辑,子类重写则会执行子类重写后的逻辑

 第三阶段:服务

        之所以称之为服务,是因为在这个阶段用到的方法 service(),在经历过前两个阶段后,会通过创建的servlet实例调用HttpServlet父类的 service()方法,在该方法中会根据请求方式的不同,来判断调用doGet()还是doPost()方法,这时同样的,如果子类重写了doGet()或doPost()方法,则根据子类的执行逻辑进行调用,如果没有重写,则还是会调用HttpServlet父类的响应方法执行(此时会响应405错误页面,即方法不被允许)

 第四阶段:销毁

        这个阶段即为servlet实例被销毁,调用destroy()方法(不重写会自动调用),服务器关闭或重启时,会销毁所有servlet实例

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值