Рассмотрим приведенное ниже определение в web.xml
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>TestServlet</servlet-class>
<init-param>
<param-name>myprop</param-name>
<param-value>value</param-value>
</init-param>
</servlet>
. Вы можете видеть, что init-param определен внутри элемента сервлета. Это означает, что он доступен только сервлету под декларацией, а не другим частям веб-приложения. Если вы хотите, чтобы этот параметр был доступен для других частей приложения, скажем, JSP, это должно быть явно передано JSP. Например, передается как request.setAttribute (). Это очень неэффективно и сложно кодировать.
Итак, если вы хотите получить доступ к глобальным значениям из любого места приложения без явно переданных этих значений, вам нужно использовать параметры контекста Init.
Рассмотрим следующее определение в сети. xml
<web-app>
<context-param>
<param-name>myprop</param-name>
<param-value>value</param-value>
</context-param>
</web-app>
Этот параметр контекста доступен для всех частей веб-приложения и может быть получен из объекта Context. Например, getServletContext (). GetInitParameter («dbname»);
Из JSP вы можете получить доступ к параметру контекста с помощью неявного объекта приложения. Например, application.getAttribute ("dbname");