JAVA里301永久重定向的兑现
JAVA里301永久重定向的实现 .%@ page languagejava contentTypetext/html charsetUTF-8 pageEnco
JAVA里301永久重定向的实现 .
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% // 转到iq.jsp out.clearBuffer(); response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String param = request.getQueryString(); response.setHeader("Location","iq.jsp"+(param==null?"":("?"+param))); %>
如上这段代码,将访问download.jsp的所有访问,永久重定向到 iq.jsp
参数也同时携带过去。
如果你的重定向是跨域的,或者使用完整路径,可以使用
response.setHeader("Location","http://www.laozizhu.com/iq.jsp"+(param==null?"":("?"+param)));
这样你就可以指定完整的转向域名了。
用常用方式实现的是302跳转:
response.sendRedirect("http://www.baidu.com");
ps:
301 (Moved Permanently)
301 (SC_MOVED_PERMANENTLY)状态是指所请求的文档在别的地方;文档新的URL会在定位响应头信息中给出。浏览器会自动连接到新的URL。
302 (Found/找到)
与301有些类似,只是定位头信息中所给的URL应被理解为临时交换地址而不是永久的。注意:在 HTTP 1.0中,消息是临时移动(Moved Temporarily)的而不是被找到,因此HttpServletResponse中的常量是SC_MOVED_TEMPORARILY不是我们以为的SC_FOUND。