请求重定向和请求转发的区别
来源:互联网 发布:外星人源码论坛eenot 编辑:程序博客网 时间:2024/06/03 22:07
请求重定向和请求转发的区别
1.区别
RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件;而HttpServletResponse.sendRedirect 方法还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。
如果传递给HttpServletResponse.sendRedirect 方法的相对URL以“/”开头,它是相对于服务器的根目录;如果创建RequestDispatcher对象时指定的相对URL以“/”开头,它是相对于当前WEB应用程序的根目录。
调用HttpServletResponse.sendRedirect方法重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;调用RequestDispatcher.forward 方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。
HttpServletResponse.sendRedirect方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求;RequestDispatcher.forward方法在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果,并不知道在服务器程序内部发生了转发行为。
RequestDispatcher.forward方法的调用者与被调用者之间共享相同的request对象和response对象,它们属于同一个访问请求和响应过程;而HttpServletResponse.sendRedirect方法调用者与被调用者使用各自的request对象和response对象,它们属于两个独立的访问请求和响应过程。
2.应用场景
通常情况下都用请求转发,减少服务器压力
当需要更新地址栏时用请求重定向,如注册成功后跳转到主页。
当需要刷新更新操作时用请求重定向,如购物车付款的操作。
- 请求转发和重定向的区别
- 请求转发和重定向的区别
- 请求转发和重定向的区别
- 重定向和请求转发的区别
- 请求重定向和转发的区别
- 重定向和请求转发的区别
- 请求转发和重定向的区别
- 请求转发和重定向的区别
- 请求转发 和 重定向的区别
- 重定向和请求转发的区别
- 请求转发和重定向的区别
- 请求转发和重定向的区别
- 重定向和请求转发的区别
- 请求转发和重定向的区别
- 重定向和请求转发的区别
- 请求转发和重定向的区别
- 重定向和请求转发的区别
- 重定向和请求转发的区别
- Quartz+Spring实现任务动态管理监控
- 北京SEO祭司:Link与domain如何区分?
- java实体类为什么要实现序列化
- 语音增强原理之噪声估计
- 阿里云Ubuntu16.04搭建LAMP+私有云nextcloud
- 请求重定向和请求转发的区别
- Spring学习笔记-MVC文件上传与下载
- Dubbo 结合 Spring Boot 的探索(注册发现,管理监控,全链路日志跟踪)
- codeforces 903A.Hungry Student Problem
- BZOJ3724: PA2014Final Krolestwo
- Shoppings
- HDU P2196 Computer
- BZOJ2815: [ZJOI2012]灾难(支配树)
- java通过克隆的方式创建对象