forward与redirect区别

(1) 共同点:
          都实现了根据自己的条件实现的页面得跳转。
(2)  区别 :

Redirect
URL重新定向:可以是任意的URL
不能共享request里面的数据
一般用于用户注销登录时返回主页面和跳转到其它的网站等等

Forward
页面的转发:只能是同一个Web应用程序的其他Web组件
转发页面和转发到的页面可以共性request里面的数据
一般用于用户登录的时候根据角色转发到相应的模块等等     

(3) 例子:
       譬如:client 通过XXX/index.jsp?name=gauss&pwd=123访问index.jsp,而index.jsp中有<jsp:forward page="login.jsp"/>,
    则在login.jsp中可以通过request.getParameter()得到name和pwd,而<%response.sendRedirect("login.jsp");%>得不到。
(4) 注意:
       一般在index.jsp页面之前有个提交数据的页面default.jsp,则defautl.jsp页面提交的数据就可以在login.jsp页面得到,
    而不是得到index.jsp页面提交的数据,index.jsp页面只是执行的都是一个转发操作当然在里面可以增加也写业务操作,
    他可以得到request的数据,用XXX/index.jsp?name=gauss&pwd=123这种方式登录就是省略了index.jsp前面的一个页面提交数据而已
    
    
    
    
    客户端浏览器显示的是浏览器最后被给定的URL,当URL被提交后,在某个组件返回一个响应给浏览器之前,Web应用可能已经转发请求多次,
    而这些过程都发生在服务器端,客户端浏览器并不知道有什么变化。当一个 http响应被返回时,它并没有包含地址栏的值,
    所以浏览器仅仅显示其用来作为初始请求的地址。通过使用redirect可以改变浏览器地址的显示,因为这样可以向浏览器提交一个新的请求,
    但付出的代价是数据不能通过请求上下文传递到页面,这也是使用forward和redirect的差异之一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值