java - 基本最低 WAR 配置

标签 java tomcat servlets war web.xml

我有一个 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/

相关文章:

rest - Spring MVC Servlet 被 POST 请求命中两次

javascript - 如何让我的 'Add Item' 按钮在我的 JSP 上工作,以便它可以将数据提交到我的数据库中

java - 如何正确关闭 javafx Alerts/fileChooser 等

tomcat中的Java堆空间错误

eclipse - 如何在 Eclipse 中编辑(运行时)类路径?

java - 如何从 HttpServletRequest (Tomcat 9.0) 获取查询参数?

java - 字节数组到字符串解码java android

java - JNDI ClassCastException 与 tomcat 6.0.26

java - 我需要 Tomcat 上的 JAX-WS 运行时。可以把 "jax-ws/lib/*"放到 "tomcat/lib"吗?

java - request.setcharacterencoding() 方法似乎在源代码中没有执行任何操作