1

Web 容器何时初始化 servlet?是否保证它在 Web 容器启动时执行?谢谢。

4

3 回答 3

2

不,这不对。首先,webapp本身并不能保证在容器启动时启动(这取决于具体的容器配置)。即使 webapp 启动了,规范说:

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

于 2013-10-10T07:20:19.323 回答
1

Web 容器何时初始化 servlet?

在加载 Web 应用程序时或对 servlet 的第一个请求时。这可以在 web.xml 中使用load-on-startup标志进行配置

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

当涉及到容器时,没有任何保证。这取决于容器的编写方式。请求容器的唯一方法是通过load-on-startupweb.xml 中的可配置参数。

于 2013-10-10T07:18:35.660 回答
0

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

您可能会在文档中清楚地找到这一点

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

如果您想参与ovveride initServlet 的该过程方法interface并在那里执行所需的操作。

于 2013-10-10T07:17:55.480 回答