Java web容器中load-on-startup

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2015/03/06/load-on-startup-in-web-xml/

昨天一同事提到load-on-startup的问题,虽然知道它在标准中有提到,但是具体的细节又有点记不清楚了。

刚才想到看了一下JSR 315: JavaTM Servlet 3.0 Specification

load-on-startup的作用

load-on-startup是servlet tag下的一个值。它告诉容器加载顺序,如果不声明这个值那么容器只会在它认为需要的时候才加载它。

这样有时会出现一个问题,如果Servlet启动时会初始化数据库连接或者加载其他信息,如果这些耗时较长的处理不在容器启动时完成,那就会在容器认为必要时加载Servlet是完成,也就是说会出现响应问题。

所以有load-on-startup这个设置来允许你指定servlet需要在部署到容器时就加载。

load-on-startup的值

load-on-startup的应该是数字,有时会出现以下几种情况:

  • 如果两个Servlet的load-on-startup的值相同,那么加载顺序是在web.xml中的声明顺序。
  • 如果值为零或者负数,那么在需要时才加载。
  • 如果没有,那么加载由容器决定。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2015/03/06/load-on-startup-in-web-xml/

发表评论