此規則會標示來自 javax.servlet.http.HttpServletResponse 介面的 sendRedirect(String) 方法,因為此方法的行為可能不是預期行為。 ServletResponse.sendRedirect() 方法的 WebSphere 實作會將 URL 轉換為相對 URL。 它會移除最後一個斜線前面的任何路徑資訊。 如果這不是應用程式的預期行為,則可以透過設定 Web 儲存器自訂內容,來更正該行為。 應該檢查應用程式,來查看 sendRedirect() 方法呼叫上所傳遞的 URL 類型,以決定是否需要採取任何動作。
Web 儲存器自訂內容 com.ibm.ws.webcontainer.RedirectWithPathInfo 可用來啟用非相對 URL 行為。 如果將此內容設定為 true,則 response.sendRedirect 將使用路徑資訊進行重新導向。
從 Servlet 3.1 實作開始,此行為便是預設行為,並且會忽略 Web 儲存器自訂內容。
範例:
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
// code resp.sendRedirect("xyz"); } |
將標示方法呼叫 resp.sendRedirect("xyz");
如需相關資訊,請參閱
Web 儲存器自訂內容