天天看點

重定向(redirect)與轉發(forward)及其選擇

重定向

文法:response.sendRedirect("url");

特性:

  1. 會改變位址欄
  2. 屬于伺服器端跳轉
  3. request不共享(重點)

注意:

  • ssm中需要重定向,則要用"redirect:/xx"實作重定向,因為預設是forward轉發。

轉發

文法:request.getRequestDispatcher("/WEB-INF/jsp/xx.jsp").forward(request, response);

特性:

  1. 不會改變位址欄
  2. 屬于用戶端跳轉
  3. request共享(重點)

注意:

  • ssm中,controller用字元串傳回的,經過視圖解析器預設的是轉發,就是forward。
  • 跳轉預設是到WebContent,是以都要加上“/WEB-INF/”。

選擇

  • 需要改變位址欄用重定向。
  • 需要從一個servlet(controller)到其它的servlet(controller)用重定向。
  • 簡單跳轉到一個頁面,用轉發。

例子:在servlet中,重定向到一個servlet,進而間接改變位址。重定向需要獲得項目位址

重定向(redirect)與轉發(forward)及其選擇

例子:繼上,重定向後,需要顯示普通jsp頁面,也就是簡單的跳轉到一個頁面。

重定向(redirect)與轉發(forward)及其選擇

繼續閱讀