为 Web 应用程序配置应用程序服务器的推荐方法是按 JNDI。
每个应用服务器(包括 Jetty 和 Tomcat)都允许您配置 JNDI 参数。
对于 Jetty,您可以将以下内容添加到您的 jetty.xml 以添加 JNDI 参数param.file
:
<!-- JNDI java:comp/env -->
<New id="param.file" class="org.mortbay.jetty.plus.naming.EnvEntry">
<Arg>param.file</Arg>
<Arg type="java.lang.String"><SystemProperty name="jetty.home" default="."/>etc/config.properties</Arg>
<Arg type="boolean">true</Arg>
</New>
然后在您的 servlet 中,您可以读取 JNDI 参数:
import javax.naming.InitialContext;
import javax.naming.NamingException;
...
public Object readJndi(String paramName) {
Object jndiValue = null;
try {
final InitialContext ic = new InitialContext();
jndiValue = ic.lookup("java:comp/env/" + paramName);
} catch (NamingException e) {
// handle exception
}
return jndiValue;
}
public String getConfigPath() {
return (String) readJndi("param.file");
}
其他应用服务器设置 JNDI 值的方式不同,但读取配置的代码始终相同。