Forward と Redirect の違い

Forward 方式

  • Forward は Web Container レベルでページ移動だけが行われる。実際には、Web ブラウザーは別のページへ移動したことを認識できない。そのため、Web ブラウザーには最初に呼び出した URL が表示され、移動先ページの URL 情報は確認できない。
  • 現在実行中のページと forward によって呼び出されるページは、Request オブジェクトと Response オブジェクトを共有する。

Forward 方式

Servlet から JSP へページ移動するときに使われる命令文

RequestDispatcher rd = request.getRequestDispatcher("test01.jsp");
rd.forward(request, response);

Redirect 方式

  • Redirect は Web Container に命令が入ると、Web ブラウザーに別のページへ移動するよう命令する。すると Web ブラウザーは URL を指定されたアドレスに変更し、そのアドレスへ移動する。別の Web Container にあるアドレスへ移動する。
  • 新しいページでは Request と Response オブジェクトが新しく生成される。

Redirect 方式

Servlet から JSP へページ移動するときに使われる命令文

response.sendRedirect("test02.jsp");

出典