Servletのフォワードとリダイレクトまとめ

Java IT

フォワード

// インポートしておく
// import javax.servlet.RequestDispatcher;

// フォワード
RequestDispatcher dispatcher = request.getRequestDispatcher("JSPファイルのパス");
dispatcher.forward(request, response);
return;

JSPファイルのパスは

  • WebContent
  • webapp

からのパス。

例)/WEB-INF/jsp/main.jsp

条件分岐の中でフォワードを行う場合など、returnしないとフォワードされない(続きの処理が実行されてしまう)。

以下のコードはフォワードされない

if (条件式) {
    RequestDispatcher dispatcher = request.getRequestDispatcher("JSPファイルのパス");
    dispatcher.forward(request, response);
}

// 続きの処理

returnするとフォワードされる。

if (条件式) {
    RequestDispatcher dispatcher = request.getRequestDispatcher("JSPファイルのパス");
    dispatcher.forward(request, response);
    retuern;    // 必要
}

// 続きの処理

リダイレクト

response.sendRedirect("リダイレクト先のパス");

リダイレクト先のパスは、

  • サーブレットからの相対パス
  • 絶対パス
この記事を書いた人

余分なこだわりは捨てる。それがぼくのスタイル。

PHPでWebアプリを作り、小さな花の写真を撮ってよろこんでいる人。元Webエンジニア。プログラミング講師。余分なこだわりを捨てて生きやすくなりたいと思いつつも、なかなかこだわりを捨てきれない頑固者。まろと呼んでください。

さかのうえの まろをフォローする
IT
シェアする