请求转发和响应重定向的使用场景是啥
来源:2-4 请求转发与响应重定向的原理
张鑫179
2019-12-03 15:24:18
课程讲了区别,但是对使用场景,优劣情况没有比较!
1回答
芝芝兰兰
2019-12-03
请求转发与重定向的区别各自的优势如下:
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方法。
如果解答了同学的疑问,望采纳~
祝学习愉快~
相似问题