当一个Web容器正好初始化一个servlet时?

时间:2013-10-10 07:16:45

标签: java tomcat servlets

当一个Web容器正好初始化一个servlet时? 是否保证它在Web容器启动时执行? 感谢。

3 个答案:

答案 0 :(得分:2)

不,不是。首先,无法保证在容器启动时启动webapp本身(这取决于特定的容器配置)。即使启动了webapp,规范仍然说明了:

  

Servlet在请求处理时或者在部署期间急切地初始化。在后一种情况下,它们按照其加载启动元素指示的顺序进行初始化。

答案 1 :(得分:1)

  

当一个Web容器正好初始化一个servlet时?

在加载Web应用程序时或在第一次请求到servlet时。这可以使用load-on-startup标志

在web.xml中配置
  

是否可以保证它在Web容器启动时执行?

当谈到集装箱时,没有任何保证。这取决于如何编写contianer。请求容器的唯一方法是通过web.xml中的可配置参数load-on-startup

答案 2 :(得分:0)

取决于您如何定义和配置servlet。

You might find this clearly in docs

  

初始化Servlet   在Web容器加载并实例化servlet类之后,在它从客户端传递请求之前,Web容器初始化servlet。要自定义此过程以允许servlet读取持久性配置数据,初始化资源以及执行任何其他一次性活动,请覆盖Servlet接口的init方法。无法完成初始化过程的servlet应抛出UnavailableException。

如果您想参与Servlet ovveride的流程init interface方法并在那里执行必要的操作。