重定向
文法:response.sendRedirect("url");
特性:
- 會改變位址欄
- 屬于伺服器端跳轉
- request不共享(重點)
注意:
- ssm中需要重定向,則要用"redirect:/xx"實作重定向,因為預設是forward轉發。
轉發
文法:request.getRequestDispatcher("/WEB-INF/jsp/xx.jsp").forward(request, response);
特性:
- 不會改變位址欄
- 屬于用戶端跳轉
- request共享(重點)
注意:
- ssm中,controller用字元串傳回的,經過視圖解析器預設的是轉發,就是forward。
- 跳轉預設是到WebContent,是以都要加上“/WEB-INF/”。
選擇
- 需要改變位址欄用重定向。
- 需要從一個servlet(controller)到其它的servlet(controller)用重定向。
- 簡單跳轉到一個頁面,用轉發。
例子:在servlet中,重定向到一個servlet,進而間接改變位址。重定向需要獲得項目位址
例子:繼上,重定向後,需要顯示普通jsp頁面,也就是簡單的跳轉到一個頁面。