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

Esta regla detecta la llamada de método request.getQueryString() en archivos JSP de bienvenida 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á nulo si se llama al 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 reenvía al URL): http://mycompany.com/?param=value entonces WebSphere enviará la solicitud a index.jsp. La llamada request.getQueryString() en index.jsp , sin embargo, 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 por: http://mycompany.com/index.jsp?param=value . Esta solución funcionará para los componentes que reenvían a JSP, pero no funcionará para los archivos de bienvenida JSP a los que pueden 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 llamando a request.getAttribute("javax.servlet.forward.query_string") en lugar de request.getQueryString() .
  3. El usuario puede establecer la propiedad personalizada WebSphere com.ibm.ws.webcontainer.provideQStringToWelcomeFile a 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: