当一个Web容器正好初始化一个servlet时? 是否保证它在Web容器启动时执行? 感谢。
答案 0 :(得分:2)
不,不是。首先,无法保证在容器启动时启动webapp本身(这取决于特定的容器配置)。即使启动了webapp,规范仍然说明了:
Servlet在请求处理时或者在部署期间急切地初始化。在后一种情况下,它们按照其加载启动元素指示的顺序进行初始化。
答案 1 :(得分:1)
当一个Web容器正好初始化一个servlet时?
在加载Web应用程序时或在第一次请求到servlet时。这可以使用load-on-startup
标志
是否可以保证它在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
方法并在那里执行必要的操作。