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