forward和redirect是servlet的主要兩種跳轉方式,其中forward又叫轉發,而redirect叫重定向,那麼forward和redirect的區別是什麼呢?下面小編帶大家了解一下吧。
轉發
1、請求方不同:redirect是由客戶端發起的請求,而forward是服務端發起的請求。
2、瀏覽器地址表現不同:redirect是瀏覽器地址顯示被請求的url,而forward是瀏覽器地址不顯示被請求的url
3、參數傳遞不同:redirect需要重新開始一個request,原頁面的request生命周期結束。forward另一個連接的時候。request變量是在其生命周期內的。另一個頁面也可以使用,其實質是把目標地址include
4、底層運作不同:redirect發送的請求信息又回送給客戶機,讓客戶機再轉發到另一個資源上,需要在伺服器和客戶機之間增加一次通信。forward伺服器端直接找到目標,並include過來。
5、定義不同:forward——客戶端和瀏覽器只發出一次請求,servlet、jsp或其它信息資源,由第二個信息資源響應該請求,在請求對象request中,保存的對象對於每個信息資源是共享的。redirect——實際是兩次http請求,伺服器端在響應第一次請求的時候,讓瀏覽器再向另外一個url發出請求,從而達到轉發的目的。
以上就是小編給大家介紹了forward和redirect的區別,相信大家對此有了一定的了解,希望能幫到大家。
轉發
1、請求方不同:redirect是由客戶端發起的請求,而forward是服務端發起的請求。
2、瀏覽器地址表現不同:redirect是瀏覽器地址顯示被請求的url,而forward是瀏覽器地址不顯示被請求的url
3、參數傳遞不同:redirect需要重新開始一個request,原頁面的request生命周期結束。forward另一個連接的時候。request變量是在其生命周期內的。另一個頁面也可以使用,其實質是把目標地址include
4、底層運作不同:redirect發送的請求信息又回送給客戶機,讓客戶機再轉發到另一個資源上,需要在伺服器和客戶機之間增加一次通信。forward伺服器端直接找到目標,並include過來。
5、定義不同:forward——客戶端和瀏覽器只發出一次請求,servlet、jsp或其它信息資源,由第二個信息資源響應該請求,在請求對象request中,保存的對象對於每個信息資源是共享的。redirect——實際是兩次http請求,伺服器端在響應第一次請求的時候,讓瀏覽器再向另外一個url發出請求,從而達到轉發的目的。
以上就是小編給大家介紹了forward和redirect的區別,相信大家對此有了一定的了解,希望能幫到大家。