如何从JNDI变量初始化web.xml中的值?

时间:2009-02-05 06:17:26

标签: java jndi web.xml deployment-descriptor

在我的Java Web应用程序中,NTLM域控制器名称在web.xml中指定,如下所示:

<filter>
<!-- other code -->
    <init-param>
        <param-name>jcifs.http.domainController</param-name>
        <param-value>DCNAME</param-value>
   </init-param>
<!-- other code -->
</filter>

在上面的XML中,我们对param-value标记中的域控制器名称(DCNAME)进行了硬编码。

现在,是否可以从JNDI变量中读取此“DCNAME”,而不是在web.xml文件中对其进行硬编码?

提前感谢。

2 个答案:

答案 0 :(得分:2)

link。您需要定义这样的环境资源:

 <Environment name="myName" value="whatever"
         type="java.lang.String" override="false"/>

然后从代码中读取它:

Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
String myName = (String) envCtx .lookup("myName");

答案 1 :(得分:0)

可以使用您传递此参数的JNDI在servlet的init()内读取它。