有没有办法为我的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容器,则不必这样做,因为它会在EAR部署时根据其@WebService批注自动部署Web服务。
对于其他应用服务器,我可以将诸如jboss-web.xml,geronimo-web.xml和weblogic.xml的文件放在WEB-INF下,但是对于Tomcat是否存在类似的东西?
最佳答案
2解决方案
使用一个自定义侦听器,该侦听器将检测到您正在运行tomcat,如果正在运行tomcat,则实例化WSServletContextListener并调用其init方法。
编辑CATALINA_BASE / conf / web.xml并添加侦听器-但这将用于该实例上的所有webapp
关于tomcat - Tomcat特定的web.xml设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4817476/