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

你可能感兴趣的:(getRequsetDidpatcher和sendRedirect(请求转发和重定向的区别))