我有一个 JAR 突然需要重新打包为 WAR(不要问为什么)。它将部署在 Tomcat 上。我想知道最低限度的设置是什么(根据 web.xml
和任何其他 conf 文件)来指示 Tomcat 部署应用程序并运行通常调用的方法JAR 的 main(String[])
方法:
public class AppDriver {
public static void main(String[] args) {
AppDriver app = new AppDriver();
app.run();
}
// This is the method I need ran by Tomcat at deploy-time.
public void run() {
// ...
}
}
由于我没有使用 Spring 或任何其他类型的 MVC 框架,并且由于没有 servlet 或不需要 CDI/上下文,我想我的 web.xml
可以非常简单;但令人惊讶的是,我找不到任何能准确解释我需要什么的东西。
我还想我需要以某种方式注释 run()
方法,或者在 web.xml
中引用它。但这就是我被困的地方。提前致谢。
最佳答案
您可以实现ServletContextListener
,这样当tomcat 部署并启动您的应用程序时,您的contextInialized
方法将被调用,在该方法中您调用run 方法。
然后在 web.xml 中,您将在 listener
标记下为您的类添加一个条目。
以上方法适用于 2.5 及以下的 servlet 规范
如果您使用的是 Servlet Spec 3.0,您只需在您的类中添加 @ServletContextListener
注释,而无需在 web.xml 中进行任何配置,当您的应用程序启动时,它会被您的容器调用。
关于java - 基本最低 WAR 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10917815/