面試時經常會問到forward(轉發)和redirect(重定向)兩種方法的區別。

主要的區別整理如下(不足之處,請網友指正):

1、數據共享的區別
forward: 指向新頁面時,繼續使用當前的request作用域,可以共享request里面的數據。
redirect: 進入新的request作用域,當前的request中存放的變量全部失效。

2、執行效率的區別
forward: 執行效率較高。
redirect: 執行效率較低。

3、使用范圍的區別
forward:方法只能在同一個Web應用程序內的資源之間轉發請求。
redirect:不僅可以重定向到同一可以重定向到任何應用程序內的資源,還可以重定向到其他Web站點的資源。

4、地址欄顯示的區別
forward 瀏覽器地址欄顯示原來的URL。
redirect 瀏覽器地址欄顯示已轉向的新的URL。