forward和redirect的區別

2021-08-16 22:49:35 字數 1347 閱讀 3799

forward

和redirect的區別

答:forward是服務

器請求資

源,服務

器直接訪問目標

位址的url

,把那個

url的響應內容

讀取過來,然後把

這些內容再

發給瀏覽

器,瀏覽

器根本不知道伺服器

傳送的內容是從哪兒來的,所以它的位址列中

還是原來的位址。

redirect

就是服務

端根據邏輯,發

送乙個狀態碼,

告訴瀏覽

器重新去

請求那個位址,一般來

說瀏覽器會用剛才

請求的所有引數重新

請求,所以

session,request

引數都可以獲取

前者僅是容器中控制權的

轉向,在客戶端

瀏覽器位址

欄中不會顯示出

轉向後的位址;後者

則是完全的跳轉,

瀏覽器將會得到跳

轉的位址,並重新傳送

請求鏈結。

這樣,從

瀏覽器的位址

欄中可以看到跳轉後的

鏈結位址。所以,前者更加高效,在前者可以

滿足需要

時,盡量使用

forward()

方法,並且,

這樣也有助於隱藏

實際的鏈結。

在有些情況下,比如,需要跳

轉到乙個其它服

務器上的資源,

則必須使用sendredirect()方法。 a

頁面-------->b頁面

(-->

代表兩種

方法的一種)

a頁面裡有乙個動作:

request.setattribute("temp",object);

response.forward()---->用

這個方法到達

b,可以在b裡通

過request.getattribute("temp")得到儲存的

object物件,

這個方法擴大了

request裡儲存的

值的作用範圍;

response.redirect()---->用

這個方法到達

b,object物件將

丟失。如果想到達b

頁面(無

論是哪個方法)而有想得到

object物件,

則最好將

object

物件儲存在

request.getsession()裡,也就是session物件

JAVA中Forward和Redirect的區別

forward和redirect代表了兩種請求 方式 直接 和間接 使用者向伺服器傳送了一次http請求,這個請求可能被直接請求 forward 和間接請求 redirect 兩種 方式有何區別呢?直接 就相當於 a找b借錢,b沒有,b去找c借,並告訴c把錢給a 間接 就相當於 a找b借錢,b沒有,...

jsp中的forward和redirect的區別

一 呼叫方式 我們知道,在servlet中呼叫 重定向的語句如下 request.getrequestdispatcher new.jsp forward request,response 到new.jsp response.sendredirect new.jsp 重定向到new.jsp 在jsp...

forward和sendredirect的區別

sendredirect forward 是不同的 request 雖然是不同的物件,但是,可以取到上乙個頁面的內容 send 後的語句會繼續執行,除非 return forward 後的語句不會繼續傳送給客戶端 速度慢 速度快 需要到客戶端的往返,可以轉到任何頁面,伺服器內部轉換,位址列有變化 位...