Verificar configuração válida do método getQueryString nos arquivos de boas-vindas JSP

Esta regra detecta a chamada de método request.getQueryString() em arquivos de boas-vindas do JSP de um módulo da web Essas chamadas são sinalizadas para que o usuário possa verificar o uso correto e evitar os valores nulos para a sequência de consultas.

No WebSphere o método request.getQueryString() retornará nulo se o arquivo de boas-vindas for chamado, diretamente ou através de um encaminhamento, com uma sequência de consultas que não contém o nome do arquivo de boas-vindas na URL. Por exemplo, se o arquivo de boas-vindas for index.jspe o usuário inserir a URL (ou outro componente do sistema encaminhar para a URL): http://mycompany.com/?param=value então, o WebSphere enviará a solicitação para index.jsp. A chamada request.getQueryString() em index.jsp no entanto, retornará null em vez de param=value . Isso é aplicável apenas para arquivos de boas-vindas, conforme definido no descritor de implementação web.xml

O usuário pode obter o valor da sequência de consultas em um arquivo de boas-vindas JSP de três maneiras:

  1. Certifique-se de que a URL inclui o nome do arquivo de boas-vindas JSP. Por exemplo, altere a URL de: http://mycompany.com/?param=value para http://mycompany.com/index.jsp?param=value . Esta solução funcionará para os componentes que encaminham para o JSP, mas não funcionará para arquivos de boas-vindas do JSP que podem ser acessados diretamente por usuários externos que podem inserir a URL diretamente, por exemplo, usando um navegador da web
  2. O usuário pode obter a sequência de consultas chamando request.getAttribute("javax.servlet.forward.query_string") em vez de request.getQueryString() .
  3. O usuário pode configurar a propriedade customizada do WebSphere com.ibm.ws.webcontainer.provideQStringToWelcomeFile para true nas propriedades do contêiner da Web Configurar essa propriedade para true vai alterar o comportamento do contêiner para passar a sequência de consultas para o arquivo de boas-vindas.

Para obter informações adicionais, consulte: