使用 java 从 Tomcat 的 server.xml 中查找上下文路径

Find context path from Tomcat's server.xml with java

今天我在从 Tomcat 读取 server.xml 配置文件时遇到问题。我的意思是我想在服务器启动时验证应用程序上下文,以便应用程序知道要查找哪个配置文件。

例如:我在 Tomcat 服务器配置中为我的应用程序“/myapp”设置了上下文。所以它可以通过 :8080/myapp.

访问

不,我希望我的 Java 应用程序在 Tomcat 启动时读取 server.xml 文件,因此它看起来或多或少是这样的: - Tomcat 正在开始, - 应用正在检查 server.xml 文件中的上下文参数,发现它是“/myapp”, - 使用上述上下文 - 应用程序查找文件 /CATALINA_BASE/conf/myapp.conf.

我不能基于 URI,因为以 Tomcat 开头的应用程序不需要打开网络浏览器,所以启动时没有提供 URI。

提前致谢! 汤姆

您不应该解析 server.xml,因为它不能保证您的应用程序会在那里声明(事实上,这样做是不好的作风)。应用程序的上下文路径可以在 ServletContextListener from ServletContext.getContextPath() 内确定。