Простые вещи, такие как String
, могут быть объявлены как записи среды в web.xml
и получены через JNDI.Ниже приведен пример с env-entry
с именем «imagePath».
<env-entry>
<env-entry-name>imagePath</env-entry-name>
<env-entry-value>/somepath_on_production_server/images</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
Чтобы получить доступ к свойствам из вашего кода Java, выполните поиск JNDI:
// Get a handle to the JNDI environment naming context
Context env = (Context)new InitialContext().lookup("java:comp/env");
// Get a single value
String imagePath = (String)env.lookup("imagePath");
Обычно это делается по старинке ServiceLocator
, где вы должны кэшировать значение длязаданный ключ.
Другой вариант - использовать файлы свойств.
И обычный способ работы с несколькими средами обычно включает профили и фильтрацию (либо файла свойств, либодаже web.xml
).
Ресурсы