Web 容器何时初始化 servlet?是否保证它在 Web 容器启动时执行?谢谢。
3 回答
不,这不对。首先,webapp本身并不能保证在容器启动时启动(这取决于具体的容器配置)。即使 webapp 启动了,规范说:
Servlet 要么在请求处理时延迟初始化,要么在部署期间急切地初始化。在后一种情况下,它们按照它们的启动时加载元素指示的顺序进行初始化。
Web 容器何时初始化 servlet?
在加载 Web 应用程序时或对 servlet 的第一个请求时。这可以在 web.xml 中使用load-on-startup
标志进行配置
是否保证它在 Web 容器启动时执行?
当涉及到容器时,没有任何保证。这取决于容器的编写方式。请求容器的唯一方法是通过load-on-startup
web.xml 中的可配置参数。
取决于您如何定义和配置 servlet。
初始化 Servlet 在 Web 容器加载并实例化 Servlet 类之后,在它传递来自客户端的请求之前,Web 容器初始化 Servlet。要自定义此过程以允许 servlet 读取持久配置数据、初始化资源和执行任何其他一次性活动,您需要覆盖 Servlet 接口的 init 方法。无法完成其初始化过程的 servlet 应抛出 UnavailableException。
如果您想参与ovveride
init
Servlet 的该过程方法interface
并在那里执行所需的操作。