forward和redirect的区别

本文详细解释了服务器端请求转发forward和重定向redirect的区别。forward是在服务器内部进行的资源请求,客户端地址栏显示的是原始地址;redirect则由服务器通知浏览器重新发起请求。forward可以保持request属性,而redirect会导致对象丢失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

forwardredirect的区
答:forward是服源,服器直接访问地址的URL,把那个URL的响内容来,然后把些内容再发给浏览器,浏览器根本不知道服送的内容是从哪儿来的,所以它的地址是原来的地址。
redirect
就是服端根据逻辑,送一个状态码,诉浏览器重新去求那个地址,一般来说浏览器会用求的所有参数重新求,所以session,request参数都可以
 
前者是容器中控制向,在客浏览器地址中不会示出向后的地址;后者是完全的跳浏览器将会得到跳的地址,并重新接。这样,从浏览器的地址中可以看到跳后的接地址。所以,前者更加高效,在前者可以足需要,尽量使用forward()方法,并且,这样也有助于实际接。在有些情况下,比如,需要跳到一个其它服器上的源,使用sendRedirect()方法。
 
a-------->b(-->代表两方法的一)
a面里有一个作:request.setAttribute("temp",object);
 
Response.forward()---->用个方法到达b,可以在b里通request.getAttribute("temp")得到存object象,个方法大了request里保存的的作用范
Response.redirect()---->用个方法到达b,object象将失。
 
如果想到达b面(无是哪个方法)而有想得到object象,最好将object象保存在request.getSession()里,也就是Session
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值