getRequsetDidpatcher和sendRedirect(请求转发和重定向的区别)

1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ; 

   response.sendRedirect()是重新定向,前后页面不是一request。

   request.getRequestDispather();返回的是一个RequestDispatcher对象。

2.RequestDispatcher.forward()是在服务器端运行; 

   HttpServletResponse.sendRedirect()是通过向客户浏览器发送命令来完成. 

  所以RequestDispatcher.forward()对于浏览器来说是“透明的”; 

  而HttpServletResponse.sendRedirect()则不是。

从上面可以看出,request.getRequestDispatcher()的功能相对来说比较强大。

 以下是我给的建议:

    (a) 如何跳转中不需要携带数据,推荐使用response.sendRedirect()方法

    (b)如果跳转中需要携带数据,推荐使用request.getRequestDispatcher(),共享一个request

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容