为 Web 应用程序配置应用程序服务器的推荐方法是按 JNDI。
每个应用程序服务器(包括 Jetty 和 Tomcat)都允许您配置 JNDI 参数。
对于码头,您可以将以下内容添加到码头.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 值的方法不同,但读取配置的代码始终相同。