Java サーブレットフィルターを使って、別画面へリダイレクトさせる




ログインしていないページなどに飛んできた時に便利ですよね。

サーブレットフィルターを使って、別画面へリダイレクトさせるサンプル

サーブレットフィルターを使って、別画面(JSP)へリダイレクトします。

TestFilter.java

web.xml

実行結果

サーブレットフィルターからリダイレクトされた別画面(JSP)が表示されます。
ここでは、リダイレクト先はtest.jspです。

サンプルの解説

サーブレットフィルターは、その名の通り、フィルターです。
サーブレットが動作する「前」と「後」で呼び出されます。
ですので、サーブレットの前処理、後処理なんかも書くことができます。

こんな感じで、認証されていないときなどに、別の画面に飛ばしたりします。
FilterChain#doFilter(ServletRequest,ServletResponse)は、このフィルターは通過してOKなときに使います。
これで、他のフィルターや目的のサーブレットが呼び出されます。

この例では、認証(?)が常にNGなので、サーブレットは呼び出されず、常にtest.jspに飛んでいきます。