控制權共用
Redirect
又稱重導,透過 HTTP Header回應後,並從瀏覽器跨越請求( 又稱通透性 Transparent),瀏覽器顯示的路徑也會改成重導後的路徑。
無法分享 request 內 attribute 的值。
路徑規則
可以是 完整 URL 路徑 或 [ / ] 或 [無 / ] 。
[ / ] 會加上原呼叫者的所有路徑。
[無 / ] 相當於 ROOT,若為本機,就會加上 http://localhost:8081/
Forward
轉送,只在伺服器內運行,可以將請求交給其他 Servlet 對象,執行速度較快。
可分享 request 內 attribute 的值。
路徑規則
因為在伺服器內運行,必須 是 [ / ] 或 [無 / ] 開頭,且瀏覽器顯示的路徑不會改變。
有 [ / ] 代表 servlet 環境路徑底下。
當 [無 / ] 在頁面上使用時(如 jsp),會被加上轉送者對象的路徑,可能造成連結錯誤。
RequestDispatcher
介面,代表請求的派發者,主要擁有 forward 和 include 方法,能夠讓其他資源也參與其中,並協同完成響應。
Last updated
Was this helpful?