Элементы DD <context-param>
и <init-param>
оба могут быть получены getInitParameter()
метод, в коде сервлета.
Теперь вопрос, как он дифференцируется <context-param>
и <init-param>
?
Сервет Параметры init предназначены только для одного сервлета. Ничто за пределами этого сервлета может получить доступ к этому. Он объявлен внутри
тег дескриптора развертывания, с другой стороны параметр контекста предназначен для всего веб-приложения. Любой сервлет или JSP в этом веб-приложении может получить доступ параметр контекста . Параметры контекста объявлены в теге
непосредственно внутри , TAG>
.
Методы доступа параметр контекста init
getServletContext().getInitParameter("name");
, тогда как метод доступа параметр init сервлета
getServletConfig().getInitParameter("name");
Как объяснено Adeel Ansari, здесь , это зависит от того, какой объект вы вызываете метод getInitParameter ()
в сервлете.
Все сервлеты расширяются и следовательно, являются экземпляром GenericiClevlet
.
.
Элементы DD
могут быть получены:
ServletContext context = this.getServletContext();
String paramValue = context.getInitParamter("paramName");
.
Элементы DD
Оба могут быть получены:
ServletConfig config = this.getServletConfig();
String paramValue = config.getInitParamter("paramName");
также обратите внимание, что с GenericiClevlet
Alld Allbies Интерфейс сервлета
, ваш класс сервлета Также ServletConfig (подразумевает this = this.getservletconfig ()
). Следовательно, вы также можете получить элементы DD
непосредственно путем:
String paramValue = this.getInitParamter("paramName");
.
Вы можете попробовать это, имея то же самое имя параметров в обоих элементах DD с разными значениями, а затем распечатайте его на вашем сервлете.