我需要删除Tomcat启动时的临时文件,传递到包含临时文件的文件夹位于applicationContext.xml中.
有没有办法只在Tomcat启动时运行方法/类?
你可以写一个ServletContextListener
从contextInitialized()
方法调用你的方法.您可以将侦听器附加到web.xml中的webapp,例如
my.Listener
和
package my; public class Listener implements javax.servlet.ServletContextListener { public void contextInitialized(ServletContext context) { MyOtherClass.callMe(); } }
严格来说,这只是在webapp启动时运行一次,而不是Tomcat启动,但这可能相同.
您还可以使用(启动Servlet v3)带注释的aproach(无需向web.xml添加任何内容):
@WebListener public class InitializeListner implements ServletContextListener { @Override public final void contextInitialized(final ServletContextEvent sce) { } @Override public final void contextDestroyed(final ServletContextEvent sce) { } }