HttpServletResponse sendRedirect重定向

HttpServletResponse中一般用sendRedirect进行重定向,sendRedirect进行重定向做了下面2件事:

1. 设置HTTP响应报头中的Status为302

2. 设置HTTP响应报头中的Location值为指定的URL

用法

HttpServletResponse.sendRedirect("url?参数名1=参数值&参数名2=参数值");

实例

protected void doGet(HttpServletRequest request,  
	HttpServletResponse response) throws ServletException, IOException {  
	/*方法一:使用response.sendRedirect*/  
//      response.sendRedirect("index.html");  
	  
	/*方法二:设置响应头和重定向地址*/  
	response.setHeader("Location", "index.html");  
	response.setStatus(HttpServletResponse.SC_FOUND);//设置302状态码,等同于response.setStatus(302);       
} 

sendRedirect重定向不可以在页面中共享HttpServletRequest对象中的数据。但是可以通过重定向的url中携带需要的参数,但这里的参数只能携带字符串的参数。但是其优点是重定向时浏览器默认是使用get请求方式,这样的请求方式速度更快一点。但是安全性却不高。

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。