简述Struts2中Redirect和Dispatcher的区别

 我来答
mikemelon2012
2015-10-11 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:389万
展开全部

二者都是实现页面的跳转,主要有几个比较大的区别:


先说Redirect,也就是“重定向”,

  1. 浏览器地址栏会发生变化,变为跳转到的url地址;

  2. 重定向可以跳转到任意url地址,不止局限于当前的Web应用;

  3. 在Web应用中,请求的内容在重定向前后不共享;


其过程是:

用户请求-----》服务器-------》组件------>服务器-------》用户-------》新的请求

                                                   (修改用户请求)



再说Struts2里的Dispatcher,作用是“转发”,

  1. 只是服务器端把请求和响应由当前服务器应用转给另外的服务器应用,浏览器地址栏不发生变化;

  2. 转发只能在当前Web应用之下进行,不能跳到别的Web应用去。

  3. Web应用中,请求的内容在转发前后是共享的,也就是说其实请求还是原来那个。


其过程是:

用户请求-----》服务器-------》组件1-------》组件2------->服务器-------》用户

                                                         (请求不变)


其他还有一些细微差别,不过原理大抵像上面两个图能看懂就彻底明白了。

”转发“和”重定向“其实不仅是Struts2能用,在Web中也是个基础概念,即Servlet/JSP也能用,php, python, ruby,asp.net等涉及Web开发也是一样的。

亚果会
2024-04-11 广告
Goma Greens是一家专注于提供高品质有机蔬果的企业。我们致力于为消费者带来新鲜、健康、无污染的食材,以满足现代人对健康生活的追求。我们的产品均来自精心挑选的有机农场,通过严格的品质控制,确保每一份食材都达到最高标准。此外,我们还提供... 点击进入详情页
本回答由亚果会提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式