如何在Tomcat中初始化Web应用程序

我使用的是websphere应用服务器,它提供了一个平台初始化监听器,当应用程序启动时会调用该监听器。 现在,我正在使用Tomcat,但还没有找到这样的东西,而我正在尝试做的是在应用程序开始提供请求之前做一些初始化工作。

Tomcat应该怎么做?

您创建一个Listener类,实现ServletContextListener如下所示:

 package com.vy; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; @WebListener public class StartStopListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent servletContextEvent) { System.out.println("Servlet has been started."); } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { System.out.println("Servlet has been stopped."); } } 

将配置信息添加到WEB-INF\web.xml如下所示:

    com.vy.StartStopListener   

运行Tomcat时,您将在控制台屏幕上看到结果:

 Servlet has been started. 

参考: http : //docs.oracle.com/javaee/7/api/javax/servlet/ServletContextListener.html

您可以使用ServletContextListener API。 请阅读此链接 。 你可以去看看这个教程

您应该在此方法中编写自定义应用程序启动代码

 @Override public void contextInitialized(ServletContextEvent arg0) { System.out.println("ServletContextListener started"); } 

注意:如果将来需要,移动到其他服务器时不会出现任何问题。