課程
/后端開發(fā)
/Java
/JAVA遇見HTML——JSP篇
response請求重定向跟<jsp:forworward pagr = "**.jsp" >區(qū)別在哪?
2016-09-25
源自:JAVA遇見HTML——JSP篇 3-10
正在回答
1.從地址欄顯示來說forward是服務(wù)器請求資源,服務(wù)器直接訪問目標(biāo)地址的URL,把那個URL的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器.瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容從哪里來的,所以它的地址欄還是原來的地址.sendredirect()方法是服務(wù)端根據(jù)邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個地址.所以地址欄顯示的是新的URL.所以sendredirect()方法等于客戶端向服務(wù)器端發(fā)出兩次request,同時也接受兩次response。2.從數(shù)據(jù)共享來說forward:轉(zhuǎn)發(fā)頁面和轉(zhuǎn)發(fā)到的頁面可以共享request里面的數(shù)據(jù).sendredirect()方法:不能共享數(shù)據(jù).sendredirect()方法不僅可以重定向到當(dāng)前應(yīng)用程序的其他資源,還可以重定向到同一個站點上的其他應(yīng)用程序中的資源,甚至是使用絕對URL重定向到其他站點的資源.forward,方法只能在同一個Web應(yīng)用程序內(nèi)的資源之間轉(zhuǎn)發(fā)請求.forward 是服務(wù)器內(nèi)部的一種操作.sendredirect()方法是服務(wù)器通知客戶端,讓客戶端重新發(fā)起請求.所以,你可以說sendredirect()方法是一種間接的請求,但是你不能說"一個請求是屬于forward還是sendredirect()方法 "3.從運用地方來說forward:一般用于用戶登陸的時候,根據(jù)角色轉(zhuǎn)發(fā)到相應(yīng)的模塊.sendredirect()方法:一般用于用戶注銷登陸時返回主頁面和跳轉(zhuǎn)到其它的網(wǎng)站等.4.從效率來說forward:高.sendredirect()方法:低.
舉報
Java Web入門級教程JSP,帶你輕松的學(xué)習(xí)JSP基礎(chǔ)知識
2 回答請求重定向和請求轉(zhuǎn)發(fā)的區(qū)別
1 回答response中的重定向方法
3 回答請求重定向報錯
2 回答請求重定向報錯
1 回答關(guān)于請求重定向和請求轉(zhuǎn)發(fā)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-09-25
1.從地址欄顯示來說
forward是服務(wù)器請求資源,服務(wù)器直接訪問目標(biāo)地址的URL,把那個URL的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器.瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容從哪里來的,所以它的地址欄還是原來的地址.
sendredirect()方法是服務(wù)端根據(jù)邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個地址.所以地址欄顯示的是新的URL.所以sendredirect()方法等于客戶端向服務(wù)器端發(fā)出兩次request,同時也接受兩次response。
2.從數(shù)據(jù)共享來說
forward:轉(zhuǎn)發(fā)頁面和轉(zhuǎn)發(fā)到的頁面可以共享request里面的數(shù)據(jù).
sendredirect()方法:不能共享數(shù)據(jù).
sendredirect()方法不僅可以重定向到當(dāng)前應(yīng)用程序的其他資源,還可以重定向到同一個站點上的其他應(yīng)用程序中的資源,甚至是使用絕對URL重定向到其他站點的資源.
forward,方法只能在同一個Web應(yīng)用程序內(nèi)的資源之間轉(zhuǎn)發(fā)請求.forward 是服務(wù)器內(nèi)部的一種操作.
sendredirect()方法是服務(wù)器通知客戶端,讓客戶端重新發(fā)起請求.
所以,你可以說sendredirect()方法是一種間接的請求,但是你不能說"一個請求是屬于forward還是sendredirect()方法 "
3.從運用地方來說
forward:一般用于用戶登陸的時候,根據(jù)角色轉(zhuǎn)發(fā)到相應(yīng)的模塊.
sendredirect()方法:一般用于用戶注銷登陸時返回主頁面和跳轉(zhuǎn)到其它的網(wǎng)站等.
4.從效率來說
forward:高.
sendredirect()方法:低.