我有一个 java 应用程序,到目前为止它是作为一个独立的 java 应用程序(即可执行 jar)运行的。我现在需要将它作为 servlet 部署在 Tomcat 中。虽然它不需要实际处理任何 HTTP 请求,但它需要使用 tomcat 启动。
将项目转换为部署在 Tomcat 中需要哪些步骤?我使用 maven 作为构建工具和 Java 1.5。
最佳答案
我了解到您想在服务器启动时运行此应用程序。最好的方法是实现 ServletContextListener
并在 contextInitialized()
方法中运行应用程序。例如
public class Config implements ServletContextListener {
private YourApp yourApp;
public void contextInitialized(ServletContextEvent event) {
yourApp = new YourApp();
yourApp.start();
}
public void contextDestroyed(ServletContextEvent event) {
yourApp.shutdown();
}
}
在 web.xml
中注册如下:
<listener>
<listener-class>com.example.Config</listener-class>
</listener>
就是这样。无需将它包装成 HttpServlet
的风格,因为您不会在其上触发 HTTP 请求。
但是您需要确保它在自己的线程中运行,否则会阻塞启动。如果没有,则将其包装在 Runnable
中并使用 ExecutorService
执行它.
关于java - 将 Java 应用程序部署为 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283600/