我有一个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>
仅在应用程序上下文完成加载后才会触发。
答案 0 :(得分:6)
您需要将此初始化逻辑放入ServletContextListener
而不是servlet,并在web.xml
中将其声明为
<listener><listener-class>YourListenerClass</listener-class></listener>
此外,如果你的Spring上下文是由ContextLoaderListener
加载的,那么你的监听器应该在web.xml
之前声明,因为监听器是按声明顺序触发的。
答案 1 :(得分:0)
也许Listner正是您要找的