Servlet之自启动

有的时候会有这样的业务需求:
tomcat一启动,就需要执行一些初始化的代码,比如校验数据库的完整性等。

但是Servlet的生命周期是在用户访问浏览器对应的路径开始的。如果没有用户的第一次访问,就无法执行相关代码。

这个时候,就需要Servlet实现自启动 即,伴随着tomcat的启动,自动启动初始化,在初始化方法init()中,就可以进行一些业务代码的工作了。

在web.xml中,配置Hello Servlet的地方,增加一句

<load-on-startup>1</load-on-startup>

<servlet>

        <servlet-name>HelloServlet</servlet-name>

        <servlet-class>HelloServlet</servlet-class>

        <load-on-startup>1</load-on-startup>

    </servlet>

为HelloServlet提供一个init(ServletConfig) 方法,验证自启动

如图所示,在tomcat完全启动之前,就打印了init of HelloServlet

load-on-startup

 

load-on-startup的取值问题:

①、非负的整型:优先级按照 优先初始化 0 级别,数字越大初始化越靠后,也就是数字小的优先初始化。

②、相同级别的:S3--.... S1,S2 的顺序,具体原因由于时间问题 没具体搞清楚,以后有时间弄懂了会补上。

③、异常值:优先级 取值异常时,Tomcat 不会赋值 0,而是报 启动异常,不能正常初始化 Servlet。

④、<load-on-startup></load-on-startup>这种昂情况也不能正常启动Tomcat

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值