请求转发和响应重定向的使用场景是啥

请求转发和响应重定向的使用场景是啥

课程讲了区别,但是对使用场景,优劣情况没有比较!

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

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

1回答
芝芝兰兰 2019-12-03 15:34:31

请求转发与重定向的区别各自的优势如下:

1、RequestDispatcher.forward方法的调用者与被调用者之间共享相同的request对象和response对象,它们属于同一个访问请求和响应过程。所以在转发的前后页面中传递信息,可以使用request的Attribute


2、HttpServletResponse.sendRedirect方法调用者与被调用者使用各自的request对象和response对象,它们属于两个独立的访问请求和响应过程。这种情况下在request中放置Attribute会丢失,所以需要用session或者ServletContext对象。


3、综上所述,对于同一个WEB应用程序的内部资源之间的跳转,特别是跳转之前要对请求进行一些前期预处理,并要使用HttpServletRequest.setAttribute方法传递预处理结果,那就更适合使用RequestDispatcher.forward方法。

不同WEB应用程序之间的重定向,特别是要重定向到另外一个WEB站点上的资源的情况,都应该使用HttpServletResponse.sendRedirect方法。


如果解答了同学的疑问,望采纳~

祝学习愉快~


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

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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