Verificaţi pentru configurarea validă a metodei getQueryString în fişiere de întâmpinare JSP

Această regulă detectează apelul metodei request.getQueryString() în fișiere de bun venit JSP ale unui modul web. Aceste apeluri sunt semnalate astfel încât utilizatorul să poată verifica utilizarea corectă şi pentru a evita valori null pentru şirurile de interogare.

În WebSphere metoda request.getQueryString() va reveni nulă dacă fișierul de bun venit este numit, fie direct, fie printr-un forward, cu un șir de interogare care nu conține numele de fișier de bun venit în URL. De exemplu, în cazul în care fișierul de bun venit este index.jsp, iar utilizatorul introduce URL-ul (sau o altă componentă de sistem înainte de URL): http://mycompany.com/?param=value atunci WebSphere va trimite cererea la index.jsp. Apelul. request.getQueryString() în index.jsp cu toate acestea va reveni null în loc de param=value . Acest lucru este aplicabil numai pentru fișierele de bun venit, astfel cum sunt definite în descriptorul de implementare web.xml

Utilizatorul poate obţine valoarea şirului de interogare dintr-un fişier JSP de întâmpinare în trei moduri:

  1. Asiguraţi-vă că URL-ul include numele de fişier de întâmpinare JSP. De exemplu, schimba URL-ul de la: http://mycompany.com/?param=value la http://mycompany.com/index.jsp?param=value . Această soluție va lucra pentru componentele care înainte de JSP, dar nu va funcționa pentru fișiere de bun venit JSP care pot fi accesate direct de către utilizatorii externi care pot introduce direct URL-ul, de exemplu, folosind un browser web.
  2. Utilizatorul poate obține șirul de interogare prin apel request.getAttribute("javax.servlet.forward.query_string") în loc de request.getQueryString() .
  3. Utilizatorul poate seta WebSphere com.ibm.ws.webcontainer.provideQStringToWelcomeFile pentru a adevărat în proprietățile containerelor web. Setarea acestei proprietăţi la true va modifica comportamentul containerul pentru a transmite şirul de interogare la fişierul de întâmpinare.

Pentru informaţii suplimentare, vedeţi: