Comprobar la configuración válida del método getQueryString en los archivos de bienvenida JSP

Esta regla detecta la llamada al método request.getQueryString() en los archivos de bienvenida JSP de un módulo web. Estas llamadas se marcan para que el usuario pueda verificar el uso correcto y evitar valores nulos para la serie de consulta.

En WebSphere, el método request.getQueryString() devolverá un valor nulo si se invoca el archivo de bienvenida, ya sea directamente o a través de un reenvío, con una serie de consulta que no contiene el nombre del archivo de bienvenida en el URL. Por ejemplo, si el archivo de bienvenida es index.jsp y el usuario especifica el URL (u otro componente del sistema remite al URL): http://mycompany.com/?param=value, WebSphere enviará la solicitud a index.jsp. No obstante, la llamada request.getQueryString() en index.jsp devolverá null en lugar de param=value. Esto sólo es aplicable a los archivos de bienvenida, tal como se define en el descriptor de despliegue web.xml.

El usuario puede obtener el valor de serie de consulta en un archivo de bienvenida JSP de tres formas:

  1. Asegúrese de que el URL incluya el nombre del archivo de bienvenida JSP. Por ejemplo, cambie el URL de http://mycompany.com/?param=value a http://mycompany.com/index.jsp?param=value. Esta solución funcionará para los componentes que realicen reenvíos al JSP, pero no funcionará para los archivos de bienvenida JSP a los que puedan acceder directamente los usuarios externos que pueden especificar el URL directamente, por ejemplo, utilizando un navegador web.
  2. El usuario puede obtener la serie de consulta invocando request.getAttribute("javax.servlet.forward.query_string") en lugar de request.getQueryString().
  3. El usuario puede establecer la propiedad personalizada de WebSphere com.ibm.ws.webcontainer.provideQStringToWelcomeFile en true en las propiedades del contenedor web. Si establece esta propiedad en true, cambiará el comportamiento del contenedor para pasar la serie de consulta al archivo de bienvenida.

Para obtener información adicional, consulte: