2009-02-05 4 views
1

В моем веб-приложение Java, имя контроллера домена NTLM указан в web.xml, как это:Как инициализировать значение в web.xml из переменной JNDI?

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

В приведенном выше XML, мы жестко закодированы имя контроллера домена (DCName) в Парам -значение.

Теперь, можно ли прочитать это «DCNAME» из переменной JNDI, вместо жесткого кодирования в файле web.xml?

благодарит заранее.

ответ

0

Может считывать его внутри init() сервлета с использованием JNDI, которому вы передаете этот параметр.

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"); 
+0

Это очень специфический Tomcat, оригинальный вопрос ничего не знает о Tomcat не сказать. –

+0

Ссылка Tomcat специфична, но фрагмент кода - нет. Отсутствует то, что код нужно вызывать из контекстного контекста прослушивателя сервлета. См. Это: http://www.coderanch.com/t/362833/Servlets/java/log-ServletContextListener – HDave