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 (обратите внимание, вы не должны изменять его, если вы действительно не понимаете, что делаете).

Другие вопросы по тегам