使用 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()
内确定。
今天我在从 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()
内确定。