轉發和重定向的認識?
都是讓浏覽器跳轉頁面的技術。
為什麼要學習轉發和重定向技術?
一個網站,包括很多的功能,不同的功能在不同的界面,那麼作為使用者,你要想體驗到這個網站的不同功能,那麼你就要通過點選按鈕向伺服器發送你的請求,然後得以體驗到你想體驗到的功能。--------------------------------------------是以要跳轉頁面,就的學習轉發和重定向技術。
重定向與轉發的比較?
- 轉發是在伺服器端完成的,重定向是在用戶端完成的。
- 轉發的速度快,重定向的速度慢
- 轉發的是同一次請求,重定向是兩次不同的請求
- 轉發不會執行轉發後的代碼,重定向會執行重定向之後的代碼
- 轉發位址欄沒有變化,重定向位址欄有變化
- 轉發必須是在同一台伺服器下完成的,重定向可以在不同的伺服器下完成
使用:
-
轉發: req.getRequestDispatcher("要轉發的位址").forward(req, resp);
位址:相對路徑,直接書寫servlet的别名即可
-
重定向:
resp.sendRedirect(String uri);
示例:resp.sendRedirect("/login/main");