在網上看到一些帖子,總結了一些區別,可以從以下幾個方面來看:
1.從位址列顯示來說
forward是伺服器請求資源,伺服器直接訪問目標位址的url,把那個url的響應內容讀取過來,然後把這些內容
再發給瀏覽器.瀏覽器根本不知道伺服器傳送的內容從**來的,所以它的位址列還是原來的位址.
redirect是服務端根據邏輯,傳送乙個狀態碼,告訴瀏覽器重新去請求那個位址.所以位址列顯示的是新的url.所
以redirect等於客戶端向伺服器端發出兩次request,同時也接受兩次response。
2.從資料共享來說
forward:**頁面和**到的頁面可以共享request裡面的資料.
redirect:不能共享資料.
redirect不僅可以重定向到當前應用程式的其他資源,還可以重定向到同乙個站點上的其他應用程式中的資源,
甚至是使用絕對url重定向到其他站點的資源.
forward,方法只能在同乙個web應用程式內的資源之間**請求.
forward 是伺服器內部的一種操作.
redirect 是伺服器通知客戶端,讓客戶端重新發起請求.
所以,你可以說 redirect 是一種間接的請求, 但是你不能說"乙個請求是屬於forward還是redirect "
3.從運用地方來說
forward:一般用於使用者登陸的時候,根據角色**到相應的模組.
redirect:一般用於使用者登出登陸時返回主頁面和跳轉到其它的**等.
4.從效率來說
forward:高.
redirect:低.
5.jsp 語法
"} />
或者這樣寫:
"} >
}" />+
6.例子
描述標籤從乙個jsp檔案向另乙個檔案傳遞乙個包含使用者請求的request物件.標籤以下的**,將不能執行.
你能夠向目標檔案傳送引數和值,在這個例子中我們傳遞的引數名為username,值為scott,如果你使用了標籤的話,目標檔案必須是乙個動態的檔案,能夠處理引數.
如果你使用了非緩衝輸出的話,那麼使用時就要小心。
如果在你使用之前,jsp檔案已經有了資料,那麼檔案執行就會出錯.
屬性page=""
這裡是乙個表示式或是乙個字串用於說明你將要定向的檔案或url.這個檔案可以是jsp,程式段,或者其它能夠處理request物件的檔案(如asp,cgi,php).
}" />+
向乙個動態檔案傳送乙個或多個引數,這個檔案一定是動態檔案.
如果你想傳遞多個引數,你可以在乙個jsp檔案中使用多個。name指定引數名,value指定引數值.
例子<%@ page contenttype="text/html;charset=gb2312" %>
forwardto.jsp
<%@ page contenttype="text/html;charset=gb2312" %>
<%
string usename=request.getparameter("username");
string outstr= "謝謝光臨!";
outstr+=usename;
out.println(outstr);
%>
redirect的例子:
譬 如:client 通過***/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");%>得不到。
以上摘抄自:
jsp中forward和redirect的區別
一 呼叫方式 我們知道,在servlet中呼叫 重定向的語句如下 request.getrequestdispatcher new.jsp forward request,response 到new.jsp response.sendredirect new.jsp 重定向到new.jsp 在jsp...
jsp中 forward 與 redirect區別
quote 1.從位址列顯示來說 forward是伺服器請求資源,伺服器直接訪問目標位址的url,把那個url的響應內容讀取過來,然後把這些內容 再發給瀏覽器.瀏覽器根本不知道伺服器傳送的內容從 來的,所以它的位址列還是原來的位址.redirect是服務端根據邏輯,傳送乙個狀態碼,告訴瀏覽器重新去請...
JSP中forward與redirect的區別
1.執行forward後依然是上一次請求,而執行redirect後生成第二次請求。2.forward的目標頁面可以訪問原請求的請求引數,因為是同一次請求,所有原請求的引數和request範圍內的屬性全部存在 redirect的目標頁面不可以訪問原請求的請求引數,因為是不是同一次請求,所有原請求的引數...