轉發:
http://www.java265.com/Servlet/202205/263.html
下文筆者講述Servlet API中forward()與redirect()方法的區別,如下所示
區別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:低
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488679.html
標籤:Java
上一篇:如何才能把團隊給帶解散。。。
