首页 > 其他 > 详细

Servelet实例的生命周期和创建时机

时间:2020-09-13 15:22:45      阅读:47      评论:0      收藏:0      [点我收藏+]

问题描述:

Servelet的创建只能在有用户访问的时候才创建吗?

其实我们可以在启动服务器的时候就创建Servelet的实例。

问题解决:

Servelet接口中有3个比较重要的方法:

init       service       destory

  •  init方法只在创建对象的时候执行一次(所以可以知道Servelet的实现类是单例的,再次访问就只会执行Service方法,并不会再次创建对象-----------在服务器没有关闭的情况下)
  • service方法是实现具体的业务逻辑
  • destory方法只在销毁对象(关闭服务器)的时候执行一次

下面有具体演示:

技术分享图片

 

 接下来访问一下这个资源:

技术分享图片

 

 技术分享图片

 

 再次访问3次。。

 技术分享图片

 

 接下来停止服务器:

技术分享图片

 

 

 那么我们怎么在刚开始启动服务器的这时候就创建Servelet实现类的实例呢?

我们还是要在配置文件web.xml中配置Servelet的创建时机:

技术分享图片

 

 

 

 我们可以配置<load-on-startup>1</load-on-startup>这标签,当数字为正数的时候就会在启动服务器的时候创建,为负数的时候就是访问时创建,

其实我们之前没有设置的时候,默认值就是-1;

 

修改之后再次测试:

技术分享图片

 

 没有经过访问直接创建

我们再来访问试试会不会重复创建。。。。。

技术分享图片

 

 

 所以我们使用的是同一个Servelet实现类的实例对象,很好的说明了它的单例模式

 

Servelet实例的生命周期和创建时机

原文:https://www.cnblogs.com/ZYH-coder0927/p/13661196.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!