использование [context] .xml и web.xml для настройки веб-приложения - PullRequest
4 голосов
/ 18 января 2012

Я только что узнал, что могу извлекать параметры и другие вещи из "ServletContext" (то есть путем переопределения contextInitialized).

Чтение tomcats context doc показывает, что я могу установить параметры через web.xml (используется как значение по умолчанию), а затем перезаписать их файлом [context] .xml.

Первый вопрос: это хороший способ установить свойства по умолчанию и позволить администраторам сервера их перезаписывать?

Во-первых, есть обзор, который показывает все виды атрибутов / параметров, которые доступны с его тегом, используемым в контексте tomcats xml, тегом, используемым в web xml, как получить его изнутри java, а также сценарий использования / пример для чего Что за параметр должен использоваться?

Играя с ним, я сталкиваюсь со следующей проблемой: если я развертываю веб-приложение через веб-интерфейс tomcats, [context] .xml полностью игнорируется (консоль заявляет, что оно развернуто, но 2nd равно null)

Короче говоря: как правильно использовать web.xml и [context] .xml - ссылка ниже не очень поможет.

1 Ответ

4 голосов
/ 18 января 2012

Ну, во-первых, лучше объявлять атрибуты контекста (сервлета / приложения) через web.xml, так как это официальный способ, поддерживаемый Java EE, поэтому, если вы объявите их так, они будут работать при развертывании приложения в другом приложении. Серверы, отличные от Tomcat.

Во-вторых, я считаю, что правило Tomcat для переопределения значений параметров:

если у вас есть $ CATALINA_BASE / conf / context.xml, и у вас есть тот же атрибут, объявленный в нем и в web.xml, у атрибута в web.xml будет приоритет

если у вас есть файл $ CATALINA_BASE / conf / context.xml, а также файл context.xml внутри вашего приложения (в каталоге META-INF), оба с одним и тем же параметром, который находится в META-INF / context. XML будет иметь приоритет.

Наконец, если у вас есть все три файла, декализующие один и тот же параметр, у файла в web.xml будет приоритет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...