sendRedirrect()和getRequestDispatcher()

sendRedirrect()和getRequestDispatcher()

sendRedirrect()和getRequestDispatcher()有什么区别,分别在什么情况用

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小班 2019-09-04 10:00:14

同学你好,1、使用sendredirect -->重定向可以防止重新加载页面时执行了相同的动作;

    比如当我们提交表单的时候,执行保存方法,提交表单后,重新载入这个页面,保存方法就有可能会被再次调用,我们为了避免这种情况,一般将这个页面重定向到展示页面也就是list.jsp页面;

    案例:在一个项目中我们的登录页面是login.html,当登录成功后,我们就需要重定向,在地址栏中改变地址,跳转到项目的首页内容。

    2、但是重定向有时候是经过客户端,两次的请求转发,此时会出现一些值的丢失现象,这种情况下就需要使用getRequestDispatcher()-->转发请求啦。所以在项目中,会根据不同的场景来使用不同的跳转方式。

重定向和转发的示意图

http://img1.sycdn.imooc.com//climg/5d6f1aa90001146206910393.jpg

http://img1.sycdn.imooc.com//climg/5d6f1a930001384005960385.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小班 2019-09-03 18:07:01

同学你好,sendredirect是重定向的跳转方式,跳转到本项目外的其他页面,比如百度页面,就可以跳转到,也就是说浏览器中的地址改变了。

而getRequestDispatcher()是转发请求,转发只能跳转到本项目中的页面。浏览器中的地址没有改变。

同学现阶段理解到这两个意思就可以了。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师