如何在每次部署JSP应用程序时自动执行某些代码

时间:2011-05-25 12:57:36

标签: java jsp tomcat ant glassfish

我有一个JSP项目,在本地运行Tomcat,在Web上运行Glassfish。

在响应任何请求之前,我必须在部署应用程序后立即自动执行批处理(设置计时器)。

是否有解决此问题的标准方法?

感谢。

2 个答案:

答案 0 :(得分:2)

@WebListener
public class SomeClass implements ServletContextListener{
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        //Put code here
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
    }
}

答案 1 :(得分:1)

对于那些不知道的人,上面例子中的注释告诉servlet容器这是一个监听器

@WebListener

如果使用web.xml进行配置,则可以将注释保留在类之外,并在过滤器映射之后但在web.xml文件中的servlet之前定义侦听器。

<listener>
    <listener-class>yourpackage.SomeClass</listener-class>
</listener>

无论哪种方式,容器都会在启动时运行它。