檢查 JSP 歡迎使用檔中的 getQueryString 方法配置是否有效

此規則會偵測方法呼叫 request.getQueryString() 在 Web 模組的 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 的元件,但不適用於可直接輸入 URL (例如,使用 Web 瀏覽器) 的外部使用者可以直接存取的 JSP 歡迎使用檔。
  2. 使用者可以透過呼叫來取得查詢字串 request.getAttribute("javax.servlet.forward.query_string") 而不是 request.getQueryString() .
  3. 使用者可以設定 WebSphere 自訂內容 com.ibm.ws.webcontainer.provideQStringToWelcomeFile 在 Web 儲存器內容中變成 true 。 將這個內容設為 true,會將儲存器的行為變更為將查詢字串傳遞給歡迎使用檔。

如需相關資訊,請參閱: