JSP中forward和redirect有什么区别?什么时候必须用哪个

 我来答
千锋教育
2016-08-15 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
forward是转发会将request对象转给下一个地址去,也就是说request对象是同一个对象。
redirect是重定向,就是说相当于从浏览器重新发起一次请求,request是新的。
如果一个请求需要保持多次处理才能完成,需要保持每次处理的信息就必须用forward,这样是同一个request对象,request对象里的参数和状态会一步步的传下去。如果需要抛弃上一个请求的状态(比如说reques的id)就必须redirect,它会创建新的request对象。
xcstarqq
2017-01-17 · 超过15用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:22.5万
展开全部

jsp中forward转发和重定向区别在于:

  1. forward 转发是服务器内部的事情,客户端是不知道的,就是说,客户端地址栏不会发生改变

  2. forward 本质上,客户端只发送了一次请求,

而对于重定向:

    1.redirect 是服务器告知客户端重新想目标地址请求,就是说,客户端二次发起请求向另一个地址,客户端的url地址栏会发生变化。

    2.redirect 本质上 ,客户端发送了两次请求。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-08-15
展开全部
forward是服务器请求,浏览器不知道,浏览器会只会接收数据,而且forward中的request和是同一个,能够传值。
redirect是服务器让浏览器发送请求,request不是同一个,不能传值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-08-15
展开全部
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.

3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.

4.从效率来说
forward:高.
redirect:低.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式