servletConfig.getInitParameterNames() не работает
Мне нужно показать два URL в JSP, но я хочу передать некоторые параметры инициализации на страницу JSP для этого.
Итак, это мой web.xml:
<web-app ... >
<servlet>
<servlet-name>index1</servlet-name>
<jsp-file>/index.jsp</jsp-file>
<init-param>
<param-name>p1</param-name>
<param-value>http://www.google.com</param-value>
</init-param>
<init-param>
<param-name>p2</param-name>
<param-value>/pagina2.jsp</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>index1</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
В index.jsp я написал следующий код:
<%
// This is only a test code. Obviously, it doesn't show the URLs
java.util.Enumeration e = getServletConfig().getInitParameterNames();
while( e.hasMoreElements() ) {
out.println( e.nextElement() + "<br>");
}
%>
Но когда я запускаю jsp, это показывает некоторые initParameters, которые мне не нужны. К примеру:
logVerbosityLevel
httpMethods
keepgenerated
p2 ----------- > This is the parameter that I need
xpoweredBy
p1 ----------- > This is other parameter that I need
system-jar-includes
com.sun.appserv.jsp.classpath
Мои вопросы: почему файл JSP использует все эти параметры?
Примечание: я использую Glassfish.
1 ответ
Это параметры инициализации встроенного контейнера JspServlet
класс, который отвечает за обслуживание файлов JSP. В случае Glassfish вы можете найти его в config/default-web.xml
файл домена. Это запись сервлета org.apache.jasper.servlet.JspServlet
(обратите внимание, вы не должны изменять его, если вы действительно не понимаете, что делаете).