Проверка конфигурации метода getQueryString в файлах JSP приветствия

Это правило обнаруживает вызов метода request.getQueryString() в файлах приветствия JSP веб-модуля. Эти вызовы помечаются, чтобы пользователь мог проверить правильность использования и избежать пустых значений в строке запроса.

В WebSphere -метод request.getQueryString() вернет пустое значение, если файл приветствия вызывается либо непосредственно, либо через пересыпку, с строкой запроса, которая не содержит имя файла приветствия в URL. Например, если файл приветствия- index.jsp, и пользователь вводит URL (или другой системный компонент, пересылающий его в URL): http://mycompany.com/?param=value то WebSphere отправит запрос в index.jsp. Звонок request.getQueryString() в index.jsp , однако возвратит null вместо param=value . Это применимо только к файлам приветствия, как определено в файле описания web.xml .

Пользователь может получить значение строки запроса в файле приветствия JSP одним из трех способов:

  1. Убедиться, что URL содержит имя файла приветствия JSP. Например, измените URL: http://mycompany.com/?param=value к http://mycompany.com/index.jsp?param=value . Это решение будет работать для компонентов, которые пересылаются в JSP, но не будет работать для файлов приветствия JSP, к которым могут обращаться непосредственно внешние пользователи, которые могут ввести URL непосредственно, например, с помощью веб-браузера.
  2. Пользователь может получить строку запроса, вызвав request.getAttribute("javax.servlet.forward.query_string") вместо request.getQueryString() .
  3. Пользователь может задать пользовательское свойство WebSphere com.ibm.ws.webcontainer.provideQStringToWelcomeFile в истина в свойствах веб-контейнера. При значении свойства true контейнер изменит поведение и передаст строку запроса в файл приветствия.

Дополнительная информация: