gpt4 book ai didi

java - 在加载应用上下文之前启动一个 Servlet

转载 作者:行者123 更新时间:2023-11-28 22:05:05 25 4
gpt4 key购买 nike

我有一个 servlet,它被捆绑为我的应用程序的一部分。我希望能够配置 Tomcat 或 Spring 在应用程序上下文最终初始化之前在 boostrap 加载这个 servlet。

我这样做是因为 - 我正在使用 servlet 在触发实际上下文之前进行一些初始环境检查和文件加载。

有人知道这样做有什么好处吗?

我已经添加了这样的 servlet 定义;

    <servlet> 
<servlet-name>init-class</servlet-name>
<servlet-class>package.initClass</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>

只有在应用上下文完成加载后才会触发。

最佳答案

您需要将此初始化逻辑放入ServletContextListener 中而不是 servlet 并在 web.xml 中将其声明为

<listener><listener-class>YourListenerClass</listener-class></listener>

此外,如果您的 Spring 上下文由 ContextLoaderListener 加载,您的监听器应该在它之前的 web.xml 中声明,因为监听器是按声明顺序触发的。

关于java - 在加载应用上下文之前启动一个 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com