JavaWeb——Servlet——Servlet的生命周期

JavaWeb——Servlet——Servlet的生命周期

导语:所谓Servlet的生命周期,就是说Servlet什么时候被创建的?什么时候被销毁的?从被创建到被销毁它又经历了哪些过程呢?
原理
Servlet底层的生命周期分为5个阶段来执行
1、装载web.xml
web.xml文件中对Servlet进行了声明,并且绑定了url,tomcat启动时会自动扫描web.xml文件,从而知道了Servlet的存在并将其解析。
2、创建Servlet对象,执行构造函数
当我们第一次去访问url时,tomcat就会进行创建Servlet对象,默认执行构造函数
3、执行init()初始化方法
Servlet执行自身默认存在的初始化方法init(),进行初始化,如此Servlet对象就创建成功了。
4、执行提供服务、实现业务操作的service()等方法
执行service()、doGet()、doPost()等方法提供的服务。
5、执行destroy()销毁方法
如果tomcat重启或者关闭,Servlet就会自动执行destroy()销毁方法。

【案例】
需求:定义一个Servlet,做好相关配置,体验Servlet生命周期的过程

代码实现

web.xml在这里插入图片描述
在这里插入图片描述
启动tomcat,控制台不会输出我们编写好的输出语句,原因很简单,因为这个时候并没创建出Servlet对象
在这里插入图片描述
开始在地址栏中第一次输入url进行访问,此时控制台输出了内容,也就意味着对象创建成功了
在这里插入图片描述

在这里插入图片描述
之后进行多次访问时,只会执行service()方法,而不会再创建新的对象了即不会执行其他的方法,所以在Servlet全局中有且只有一个Servlet对象,它会对后续的请求进行处理。
在这里插入图片描述

当我们关闭或者重启服务器时,这个Servlet就会自动执行destroy()方法,从而被销毁
注意这里的关闭服务器指的是tomcat而不是直接点击eclipse中的关闭按钮,需要点击shoutdown.bat才能执行destroy()方法,或者重新加载文件也可以执行destroy()方法。
在这里插入图片描述
执行了销毁方法之后,如果我们再次重启服务器,访问url它就会重新创建一个新的对象并且执行业务

总结:Servlet的生命周期,可以分为五个阶段,首先tomcat会扫描web.xml文件,知道了Servlet的存在,会将其解析。然后当我们第一次访问url时,tomcat就会进行创建Servlet对象,默认执行构造函数。接着Servlet执行自身默认存在的初始化方法init(),对Servlet进行初始化,如此Servlet对象就创建成功了,然后再通过执行service()、doGet()、doPost()等方法提供服务。当关闭或者重启tomcat时,这个Servlet对象就会被销毁,继续重启服务器访问url时,就会创建一个新的Servlet对象。
要点
在Servlet被创建到被销毁的过程中,有且只有一个Servlet对象,多次请求只会重复执行诸如service()、doGet()、doPost()等提供业务的方法,其余的方法在整个生命周期中只会被执行一次。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立志Java工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值