此规则会标记 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 container custom properties