SC_MOVED_PERMANENTLY导致302

时间:2012-02-20 12:30:54

标签: java servlets response response.redirect

  

可能重复:
  URL redirection in Java return 302 instead of 301

response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.sendRedirect(redirectUrl);

我在redirectcontroller中使用它来将重定向301作为状态。但是当我在header checker中检查页面标题时,它会给出302(暂时移动)。

答案:

response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", redirectUrl);

1 个答案:

答案 0 :(得分:4)

是的,你正在调用sendRedirect这样的文件(强调我的):

  

使用指定的重定向位置网址向客户端发送临时重定向响应。

换句话说,当您明确调用sendRedirect时,您的第一行完全无关紧要。如果你想明确它,你可以设置状态,设置适当的标题,然后让响应正常结束。