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