RequestDispatcher(响应重定向)与sendRedirect()(请求转发)的比较
2017-05-11 14:44
369 查看
区别:
(1)RequestDispatcher对象是一个Web资源的包装器,这种转发是服务器端控制权的转向,客户端发来的请求将交由新的页面进行处理。
在客户端浏览器的地址栏是不会显示转发后的资源地址的。可以将前一个页面的数据,状态等信息传到转发的页面(同一次请求)
例:
servletA中 String a=request.getParameter("scr");
request.getRequestDispatcher("servletB").forward(request, response);
servletB
中 String b=request.getParameter("scr");
其中a=b,可以自己尝试
(2)响应对象的sendRedirect()方法实际是服务器向浏览器发送一个特殊的响应头(Location ,状态码302),它命令浏览器连接到新的位置。因此,地址栏中可以看到变化。
重定向是作为不同请求来看待的,因此,所有请求作用域的参数在重定向到下一个页面时都会失效。另外,使用sendRedirect()方法重定向时,资源不能位于WEB-INF
目录中,在调用sendRedirect()方法之前,主页面不能有内容输出。在调用sendRedirect()方法后应该有个return语句
(1)RequestDispatcher对象是一个Web资源的包装器,这种转发是服务器端控制权的转向,客户端发来的请求将交由新的页面进行处理。
在客户端浏览器的地址栏是不会显示转发后的资源地址的。可以将前一个页面的数据,状态等信息传到转发的页面(同一次请求)
例:
servletA中 String a=request.getParameter("scr");
request.getRequestDispatcher("servletB").forward(request, response);
servletB
中 String b=request.getParameter("scr");
其中a=b,可以自己尝试
(2)响应对象的sendRedirect()方法实际是服务器向浏览器发送一个特殊的响应头(Location ,状态码302),它命令浏览器连接到新的位置。因此,地址栏中可以看到变化。
重定向是作为不同请求来看待的,因此,所有请求作用域的参数在重定向到下一个页面时都会失效。另外,使用sendRedirect()方法重定向时,资源不能位于WEB-INF
目录中,在调用sendRedirect()方法之前,主页面不能有内容输出。在调用sendRedirect()方法后应该有个return语句
相关文章推荐
- 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)
- 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)
- HttpServletResponse.sendRedirect方法实现的请求重定向与RequestDispatcher.forward方法实现的请求转发的总结比较
- request.sendRedirect(重定向)和request.getRequestDispatcher(请求转发)
- 内部跳转(请求转发)request.getRequsetDispatcher()和外部跳转(重定向)response.sendRedirect()的区别
- 请求重定向(sendRedirect)与请求转发(request)的比较
- request.sendRedirect(重定向)和request.getRequestDispatcher(请求转发)
- Servlet学习笔记(四)之请求转发与重定向(RequestDispatcher与sendRedirect)
- Servlet请求转发 RequestDispatcher与sendRedirect -
- 重定向和转发有什么区别!getRequestDispatcher,sendRedirect为代表(1)
- Jsp重定向(response.sendRedirect())和转发(request.getRequestDispatcher().forward(request,r)的区别
- sendRedirect(重定向)与getRequestDispatcher.forward(转发)的区别 用实例说话!
- servlet中请求转发(forword)与重定向(sendredirect)的区别
- 请求重定向(sendRedirect)与请求转发(forward)
- response.sendRedirect方式的转向与RequestDispatcher的forward方法的比较
- 请求转发(forword)与重定向(sendredirect)的区别
- JavaWeb Filter 过滤器的机制 与使用 请求重定向与请求转发的区别 跳转过滤,过滤器dispatcher REQUEST与FORWARD区别
- JAVA 的服务器重定向:使用forward()方法转发请求和使用 sendRedirect()方法重定向的区别
- response.sendRedirect方式的转向与RequestDispatcher的forward方法的比较
- response.sendRedirect() 和request.getDispatcher().forward()比较