Java サーブレットから別のサーブレットやJSPへリダイレクトする




サーブレットで処理をしたあと、特定のページに飛ばしたかったりする場合、リダイレクトを行います。
例えば、ログイン・ログアウトした後にトップページに遷移したりする場合に使います。
応用編では、PRG(Post/Redirect/Get)パターンのような使い方もありますが、まずは基本からw

リダイレクトとは?

リダイレクトは、ブラウザに別URLへ飛ぶように指示することです。
よって、リダイレクトされると、ブラウザに表示されるURLも、リダイレクト先に変わります。
※フォワードは、ブラウザへ応答することなく、内部的に次のサーブレット等に処理を引き継ぎますが、リダイレクトでは、一度処理を終わらせてブラウザに制御を戻したうえで、再度別URLへ自動で遷移します。

サーブレットから別のサーブレットやJSPへリダイレクトするサンプル

実行結果

サーブレットで、何らかの処理(例:ログイン・ログアウト等の処理)を行ったあとに、自動でhttp://www.example.comへリダイレクトします。

サンプルの解説

HttpServletResponse#sendRedirect(String)を使って、リダイレクトを行います。
飛ばしたいURLを引数にセットすることで、ブラウザにリダイレクトを行うよう指示します。

サーブレットからJSPへフォワードするする方法は・・?

サーブレットからJSPへフォワードするする方法は、こちらを見てください。

Java サーブレットからJSPへフォワードする

2018.04.18