访问Tomcat context.xml参数
我有一些根据目标环境而变化的应用程序配置(例如配置文件位置)。 由于此配置因主机而异,因此我不想将其嵌入WAR文件中 根据中的“上下文参数”部分,将此类配置放在Tomcat conf/Context.xml文件上似乎是个好主意,如下所示:访问Tomcat context.xml参数,tomcat,configuration,Tomcat,Configuration,我有一些根据目标环境而变化的应用程序配置(例如配置文件位置)。 由于此配置因主机而异,因此我不想将其嵌入WAR文件中 根据中的“上下文参数”部分,将此类配置放在Tomcat conf/Context.xml文件上似乎是个好主意,如下所示: <Context ...> ... <Parameter name="companyName" value="My Company, Incorporated" override="false"/> ... <
<Context ...>
...
<Parameter name="companyName" value="My Company, Incorporated"
override="false"/>
...
</Context>
...
...
但问题是如何在我的应用程序中检索它们
我不使用Servlet类来接收请求(它是一个soapweb服务项目)
我尝试创建一个上下文侦听器,如下所示:
public class SystemPropertiesHelper implements
javax.servlet.ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
System.out.println("Started!");
ServletContext context = event.getServletContext();
Enumeration<String> params = context.getInitParameterNames();
while (params.hasMoreElements()) {
String param = (String) params.nextElement();
String value = context.getInitParameter(param);
System.out.println(param + " -> " + value);
}
}
@Override
public void contextDestroyed(ServletContextEvent event) {
}
}
公共类SystemPropertieHelper实现
javax.servlet.ServletContextListener{
@凌驾
公共void contextInitialized(ServletContextEvent事件){
System.out.println(“开始!”);
ServletContext=event.getServletContext();
枚举参数=context.getInitParameterNames();
while(params.hasMoreElements()){
String param=(String)params.nextElement();
字符串值=context.getInitParameter(param);
系统输出打印项次(参数+“->”+值);
}
}
@凌驾
公共无效上下文已销毁(ServletContextEvent事件){
}
}
我更改了应用程序web.xml,将该类声明为侦听器。
但是,它无法检索context.xml文件的参数。
另一方面,web.xml(见下文)上声明的属性被很好地检索到
<context-param>
<param-name>test</param-name>
<param-value>value-test</param-value>
</context-param>
测验
价值测试
请问,谁能帮我弄清楚如何检索这些参数?
如果没有JNDI的东西,这可能吗?
或者是否有其他更适合放置此类配置的地方
非常感谢你
莱昂纳多·莱特