response小结(五)—通过response实现请求重定向

请求重定向指的是一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。302状态码和location头即可实现重定向。

请求重定向最常见的应用场景就是用户登录。 下面的示例代码从另一个页面重定向到用户登录页面:

 1 package com.yyz.response;
 2
 3 import java.io.IOException;
 4 import javax.servlet.ServletException;
 5 import javax.servlet.http.HttpServlet;
 6 import javax.servlet.http.HttpServletRequest;
 7 import javax.servlet.http.HttpServletResponse;
 8 public class ResponseDemo extends HttpServlet {
 9
10    public void doGet(HttpServletRequest request, HttpServletResponse response)
11             throws ServletException, IOException {
12         response.setHeader("location", "/day06/register.html");
13         response.setStatus(302);
14         //上面两句代码等同于下面这句代码:
15         //response.sendRedirect("/day06/register.html");
16 }
17     public void doPost(HttpServletRequest request, HttpServletResponse response)
18             throws ServletException, IOException {
19            doGet(request,response);
20     }
21 }

请求重定向的两个显著的特点:1.向服务器发送了两次请求。2.地址栏发生改变。由于服务器优化的一个重要原则是减少请求发送的次数,因而要少用请求重定向。

时间: 2024-10-13 02:45:28

response小结(五)—通过response实现请求重定向的相关文章

ASP入门(五)-Response对象

Response对象可以从服务器向用户发送输出的结果. Response几种常用方法 方法 描述 BinaryWrite 向浏览器输出二进制的内容 Clear 清除已经缓冲的HTML输出 End 停止处理当前的页面,并返回当前的结果 Flush 立即发送已缓冲的HTML输出 Redirect 把用户重定向到另一个URL Write 向输出写指定的字符串 Write方法 Write方法前面已经接触过了,用于向浏览器输出一个字符串,例如下面的代码: <%@LANGUAGE="VBSCRIPT&

response小结(四)

1.发送http头,控制浏览器定时刷新网页(REFRESH). 1 package com.yyz.response; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.http.HttpServlet; 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.

HttpServletRequest对象请求转发和HttpServletResponse对象请求重定向之间的区别

HttpServletRequest对象request代表浏览器请求对象,HttpServletResponse对象代表服务器响应对象,当用浏览器访问web服务器,发出请求时,Servlet调用service方法并传入该两个对象,然后通过请求转发或者重定向到下一个jsp页面或者Servlet,下面是request对象请求转发和response对象请求重定向的区别: 区别一.RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件:而HttpServletRe

请求转发与请求重定向

----请求重定向:客户端行为,response.sendRedirect(); 从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变. ----请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp); 其本质是一次请求,转发后请求对象会保存在request中,地址栏URL地址不会改变.

servletResponse 请求重定向

package response;/* * 重定向特点: * 1,浏览器会向服务器发送两次请求,意味着就有两个request\response * 2,用重定向技术,浏览器地址栏会发生变化 *  * 用户登录和显示购物车时,通常会用到重定向技术 *  *  * *//* * response细节 * 1,response.getoutputstream 和 getwriter会冲突 *  * */import java.io.IOException;import javax.servlet.Se

请求转发与请求重定向的区别

1,请求重定向: 客户端行为:response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保持,地址栏的URL地址会改变. 2,请求转发: 服务器行为:request.getRequsetDispatcher().forward(requset,response);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变.(服务器内部转发,所有客户端看不到地址栏的改变) 下面举个生活中的实例来说明: 请求重定向: 就好比我们找一个A广告公司给设计名片,A明确

JavaWeb请求转发与请求重定向理解

请求转发使用方法 httpServletRequest.getRequestDispatcher("login.jsp").forward( httpServletRequest, servletresponse); 此请求过程 完全是一次request对象 完成的. 我们可以用 filter 截取用户的这次请求,然后利用这次请求 访问其它页面,当服务器返回信息给浏览器时 此次请求与response 结束. 过程类似与  request request request   respon

Servlet中请求重定向和请求转发和include

响应的重定向 response.sendRedirect("ShowMSgSerlet1");//请求重定向 会将后面的浏览器的url改变. 请求转发 RequestDispatcher rd=request.getRequestDispatcher("../index.jsp");//创建对象 rd.forward(request, response);//将对象进行转发 不会浏览器的url改变 include RequestDispatcher rd=reque

请求重定向与请求转发的区别

请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变.请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变.