1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
forward 是服务器内部重定向,程序收到请求后重新定向到另一个程序,而客户机并不知晓;forward会将 request state、bean、等信息带到下一个jsp页面;
使用getAttribute()来取得前一个jsp所放的信息.
redirect 是服务器收到请求后发送一个状态头给客户,客户将再次请求,就有两次网络通行的来往。redirect 是送到客户端后再次request,因此上一个jsp的信息不被保留
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
redirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源.
forward,方法只能在同一个Web应用程序内的资源之间转发请求.
在平时的时候,我们是不可以直接用url来访问WEB-INF目录下的资源的,但是用forward就可以访问得到或者用其它的办法(只要是在服务器执行就应该行了吧).
forward是不能夸context转发的(例如:/context1/url 的不能用forward 转发到 /context2/url 中去),但是redirect就可以(因为它是浏览器端转发的,是服务器端发送一个http头部信息,浏览器根据这个信息再进行转发,但有一些情况要注意,例如是不同的端口号或者ip的url话,请用绝对url,不要用相对的,否则会出问题).
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
forward比较好的地方就是forward可以把对象传过去,redirect只能传字符串.
4.从效率来说
forward:高.
redirect:低.
5. forward不会走过滤器(Servlet 2.4 開始forward可以走过滤器, 不過要響web.xml設定) 如果是用forward转发的话,因为是内部(容器中)转发的,所以也就不用再经过过滤器(filter)的过滤了(如果要是再经过,可能会造成无限递归),但是redirect就要(因为它是多次向服务器请求).
http://www.iteye.com/topic/82109
http://www.iteye.com/topic/3497
分享到:
相关推荐
forward转发与redirect重定向的区别
forward与redirect!转发和重定向 解析
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。还有,转发...
转发和重定向的区别 forward和redirect的区别 request.getRequestDispatcher()..forward(request,response);和 response.sendRedirect();的区别详解
NULL 博文链接:https://dreamzhong.iteye.com/blog/1128006
ActionForward的使用 1、理解全局和局部ActionForward的概念 2、redirect的使用 3、struts-config.xml文件不允许动态修改 4、理解动态ActionForward,动态的ActionForward是可以运行期修改的
主要给大家介绍了在JAVA面试中可能遇到会遇到的一道题,就是java中Forward与Redirect两者之前的区别,文中介绍的非常详细,对大家具有一定参考学习价值,需要的朋友们下面来一起看看吧。
19.Servlet中forward和redirect的区别.avi
试验环境如上图 防火墙网卡1与客户端在一个物理网络,ftp服务器与http服务器与防火墙网卡2在同一物理网络。...~]# iptables -P FORWARD DROP #FORWARD默认规则置为DROP ~]# setenforce 0 #关闭selinux
Forward 2.71 安装程序,Forward2.71软件的安装及使用。
Java面试题19.forward和redirect的区别.mp4
1、forward与include共亨Request范围内的对象,而redirect则不行,即:如果一个javabean被声明为request范围的话,则被forward到的资源也可以访问这个javabean,而redriect则不行。2、forward与include基本上都是转发...
forward是一款很有用的软件,在工程方面、测井方面,勘探方面经常用到 Forward for Windows平台提供多种应用挂接方式,如何应用(包括DOS应用) 经方法管理器加入平台后,自动具备各种平台特性(如方法拖拉、接收井...
Embedded wire feed forward equalization Embedded wire feed forward equalization Embedded wire feed forward equalization Embedded wire feed forward equalization Feed-forward optical equalization using ...
Action与Forward属性的含义
springMVC3学习 九 redirect和forward跳转 源码 文章地址http: blog csdn net itmyhome1990 article details 26286669
forward[a-c]forward[a-c]forward[a-c]
国产地层油气藏测井评价系统forward工程技术手册,提供forward平台各模块的功能细节描述,应与forward用户实用手册配合使用。
ActionForward与ForwardActiond 的区别和功能
RequestDispatcher对象的forward方法在使用时应注意的问题