1. 共同點:
都實現了根據自己的條件實現的頁面得跳轉。
2. 區別
類別 |
概念 |
共享數據 |
應用 |
Redirect |
URL重新定向:可以是任意的URL |
不能共享request里面的數據 |
一般用于用戶注銷登錄時返回主頁面和跳轉到其它的網站等等 |
Forward |
頁面的轉發:只能是同一個Web應用程序的其他Web組件 |
轉發頁面和轉發到的頁面可以共性request里面的數據 |
一般用于用戶登錄的時候根據角色轉發到相應的模塊等等 |
3. 例子:
譬如:client 通過XXX\index.jsp?name=gauss&pwd=123訪問index.jsp,而index.jsp中有<jsp:forward page="login.jsp"/>,則在login.jsp中可以通過request.getParameter()得到name和pwd,而<%response.sendRedirect("login.jsp");%>得不到。
4. 注意
一般在index.jsp頁面之前有個提交數據的頁面default.jsp,則defautl.jsp頁面提交的數據就可以在login.jsp頁面得到,而不是得到index.jsp頁面提交的數據,index.jsp頁面只是執行的都是一個轉發操作當然在里面可以增加也寫業務操作,他可以得到request的數據,用XXX\index.jsp?name=gauss&pwd=123這種方式登錄就是省略了index.jsp前面的一個頁面提交數據而已。