public class AbsoluteLinkFilter extends AbstractFilter
このフィルタの目的は、ServletResponse#encodeURL() の実行結果として、 単にセッションID情報を付加するだけではなく、必ず絶対形式のURLを 作成することです。 したがって、このフィルタは、チェーンの次サーブレットまたはフィルタに対して、 ラップしたレスポンスを渡します。
このフィルタがレスポンスをラップするのは、事前に指定されたセッションに
関連したリクエストのみです。
#entry(ServletRequest)
または entry(HttpSession)
で
登録していないセッションに関するリクエストについては、
レスポンスをラップすることなくチェーンの次のサーブレットまたはフィルタを
実行します。
コンストラクタと説明 |
---|
AbsoluteLinkFilter()
フィルタを新しく作成します。
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
フィルタ処理します。
|
static void |
entry(javax.servlet.http.HttpServletRequest request)
このフィルタによってURLの制御を行うことを定義します。
|
static void |
entry(javax.servlet.http.HttpSession session)
このフィルタによってURLの制御を行うことを定義します。
|
static void |
leave(javax.servlet.http.HttpServletRequest request)
指定のセッションに関する、このフィルタの処理を停止します。
|
static void |
leave(javax.servlet.http.HttpSession session)
指定のセッションに関する、このフィルタの処理を停止します。
|
destroy, getFilterConfig, getServletContext, handleDestroy, handleInit, init, log, log
public static void entry(javax.servlet.http.HttpServletRequest request)
この処理は、このリクエスト中のみでなく、 同じセッションのすべてのリクエストに対して有効となります。
request
- リクエストNullPointerException
- 引数が null の場合IllegalStateException
- セッションを取得できなかった場合public static void entry(javax.servlet.http.HttpSession session)
この処理は、このリクエスト中のみでなく、 同じセッションのすべてのリクエストに対して有効となります。
session
- セッションNullPointerException
- 引数が null の場合public static void leave(javax.servlet.http.HttpServletRequest request)
既にセッションが有効でない場合、このメソッドは何も行いません。
request
- リクエストNullPointerException
- 引数が null の場合public static void leave(javax.servlet.http.HttpSession session)
session
- セッションNullPointerException
- 引数が null の場合public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, IOException
現在のリクエストに関連付けられているセッションが、
このクラスの entry(HttpSession)
で定義済みのセッションの場合、
レスポンスをラップします。
ラップされたレスポンスは、javax.servlet.http.HttpServletResponse#encodeURL(java.lang.String) の
返り値として、必ず絶対形式のURLを返すようになります。
レスポンスをラップするかどうかに関わらず、 このメソッドは、フィルタチェーン内の次のチェーンを呼び出します。
doFilter
インタフェース内 javax.servlet.Filter
doFilter
クラス内 AbstractFilter
request
- リクエストresponse
- レスポンスchain
- フィルタチェーンの次のビューjavax.servlet.ServletException
- 実行時エラーIOException
- 入出力エラーFilter.doFilter(ServletRequest, ServletResponse, FilterChain)
Copyright © 2012 NTT DATA INTRAMART CORPORATION