重定向:作用是停止當前 JSP 頁面的執行,而將客戶端請求轉交給另一個 JSP 頁面。
要注意轉發與重定向的區別。
轉發: 在服務器端進行的,不會引起客戶端的二次請求,因此瀏覽器的地址不會發生任何變化,效率也比重定向要高。
同時,由於重定向方式產生了一個新的請求,所以經過一次重定向後,request 內的對象將無法使用。(參數和結果丟失,引起客戶端的二次請求)
怎麼選擇轉發還是重定向呢?
通常情況下轉發更快,而且能保持 request 內的對象, 所以他是第一選擇。但是由於在轉發之後,瀏覽器中 URL 仍然指向開始頁面(轉發的URL沒有發生改變),此時如果重載當前頁面,開始頁面將會被重新調用。如果你不想看到這種情況請選擇轉發的方式。
重定向:以前的 request 中存放的變量不會失效,就像把兩個頁面拼到了一起。
轉發:以前的 request 中存放的變量不會失效,就像把兩個頁面拼到了一起