Tomcat 特定的 web.xml 设置

标签 tomcat

有没有办法为我的 Web 应用程序配置特定设置,这些设置仅在 Tomcat 下运行时应用和执行?

我们使用 Tomcat 6.0.29 作为 Eclipse Helios 下的开发环境,因为开发人员可以快速轻松地使用它,但通常会将 Java EE 6 容器(Weblogic、Websphere、JBoss 等)用于生产环境。

我遇到的具体问题是,对于在 Tomcat(非 Java EE 服务器)下运行的 JAX-WS 服务,我需要向 web.xml (com.sun.xml.ws.transport.http.servlet. WSServletContextListener) 和我编写的每个 Web 服务类的 servlet 引用。如果使用真正的 Java EE 6 容器,我不必这样做,因为它会根据 @WebService 注释在 EAR 部署时自动部署 Web 服务。

对于其他应用服务器,我可以将 jboss-web.xml、geronimo-web.xml 和 weblogic.xml 等文件放在 WEB-INF 下,但是 Tomcat 是否存在类似的东西?

最佳答案

2个解决方案

  1. 使用自定义监听器来检测您是否正在运行 tomcat,如果您正在运行 tomcat - 然后实例化 WSServletContextListener 并调用其 init 方法。

  2. 编辑 CATALINA_BASE/conf/web.xml 并添加监听器 - 但这将用于该实例上的所有网络应用

关于Tomcat 特定的 web.xml 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4817476/

相关文章:

java - Heroku - 我部署的 Spring MVC 项目不起作用

java - Tomcat - 了解 CredentialHandler

java - 在tomcat中运行应用程序时出错

java - 添加/删除断点时 Eclipse 总是挂起几秒钟

eclipse - Tomcat 中的 native 库 UnsatisfiedLinkError + Windows + eclipse

javax.servlet.ServletException : Servlet execution threw an exception:org. apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

java - Eclipse 中的 Apache Tomcat 7 无法启动 : A child container failed during start

java - 如何使用 wireshark 解密服务以服务 SSL 流量?

java - 如何禁用tomcat缓存?

Tomcat 不会取消部署一个 jar