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

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

В WebSphere метод request.getQueryString() будет возвращать значение null, если файл приветствия вызван (напрямую или путем перенаправления) с помощью строки запроса, которая не содержит в 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 в свойствах веб-контейнера. При значении свойства true контейнер изменит поведение и передаст строку запроса в файл приветствия.

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