public class ExceptionHandlingFilter extends AbstractFilter
このフィルタを利用すると、例外の種類によって表示するエラーページを 切り替える事ができます。また、フォワード先URLを JSP や Servlet にすると、 エラーログを出力するなどの例外処理をすることもできます。
フィルタの設定値は、以下のとおりです。
id.attribute.exception | フォワード先へ、発生した例外を通知するためのキー名です。 この指定値をキー名として、発生した例外を ServletRequest に #setAttribute() してから、エラーページへフォワードします。 |
---|---|
id.attribute.url | フォワード先へ、リクエストURLを通知するためのキー名です。 この指定値をキー名として、 現在の ServletRequest が #getRequestURL() の結果として返す値を ServletRequest に #setAttribute() してから、エラーページへフォワードします。 |
id.attribute.uri | フォワード先へ、リクエストURIを通知するためのキー名です。 この指定値をキー名として、 現在の ServletRequest が #getRequestURI() の結果として返す値を ServletRequest に #setAttribute() してから、エラーページへフォワードします。 |
id.attribute.servlet | フォワード先へ、サーブレットパスを通知するためのキー名です。 この指定値をキー名として、 現在の ServletRequest が #getServletPath() の結果として返す値を ServletRequest に #setAttribute() してから、エラーページへフォワードします。 |
path.mapping | マッピングに関して定義した定義ファイルです。 定義ファイルはXML形式で、以下のフォーマットになります。
<error-page> <mapping> <exception-type logging="true|false (デフォルト: true)" > 例外のクラス名 </exception-type> <location> 例外発生時にフォワードするパス </location> <location request-header="リクエストヘッダ名(小文字指定)"> 例外発生時にフォワードするパス (属性「request-header」と同名のリクエストヘッダーが付与されている場合) </location> </mapping> </error-page><mapping> は任意の個数だけ定義できます。 フィルタは、指定されたパスをクラスパスから検索します。 定義ファイルは、必ずクラスパスに設定されているディレクトリに 保存してください。 |
exception.cause.enable | 例外がスローされた直接原因となった例外 (Throwable.getCause() が返す値) もチェック対象とするかどうかの設定です。
文字列 'true' を設定した場合、ネストされた例外もチェックします。 ただし、パフォーマンスが悪化する可能性があります。 |
コンストラクタと説明 |
---|
ExceptionHandlingFilter()
新しくフィルタオブジェクトを作成します。
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
フィルタとして動作するロジック。
|
protected void |
handleInit()
フィルタの初期化をします。
|
destroy, getFilterConfig, getServletContext, handleDestroy, init, log, log
protected void handleInit() throws javax.servlet.ServletException
handleInit
クラス内 AbstractFilter
javax.servlet.ServletException
- 初期化エラーAbstractFilter.init(FilterConfig)
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, IOException
doFilter
インタフェース内 javax.servlet.Filter
doFilter
クラス内 AbstractFilter
request
- リクエストresponse
- レスポンスchain
- チェーンの次のエンティティjavax.servlet.ServletException
- 実行時エラーIOException
- 入出力エラーFilter.doFilter(ServletRequest, ServletResponse, FilterChain)
Copyright © 2012 NTT DATA INTRAMART CORPORATION