クラス WebRequestHandlerInterceptorAdapter
- 実装されたすべてのインターフェース:
AsyncHandlerInterceptor
,HandlerInterceptor
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller
- 関連事項:
コンストラクターのサマリー
コンストラクター説明WebRequestHandlerInterceptorAdapter
(WebRequestInterceptor requestInterceptor) 指定された WebRequestInterceptor の新しい WebRequestHandlerInterceptorAdapter を作成します。方法の概要
修飾子と型メソッド説明void
afterCompletion
(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ExceptionSE ex) リクエスト処理の完了後、つまりビューのレンダリング後のコールバック。void
afterConcurrentHandlingStarted
(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) ハンドラーが同時に実行されている場合、postHandle
およびafterCompletion
の代わりに呼び出されます。void
postHandle
(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ModelAndView modelAndView) ハンドラーの実行が成功した後のインターセプトポイント。boolean
preHandle
(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) ハンドラーの実行前のインターセプトポイント。
コンストラクターの詳細
WebRequestHandlerInterceptorAdapter
指定された WebRequestInterceptor の新しい WebRequestHandlerInterceptorAdapter を作成します。- パラメーター:
requestInterceptor
- ラップする WebRequestInterceptor
メソッドの詳細
preHandle
public boolean preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ExceptionSE インターフェースからコピーされた説明:HandlerInterceptor
ハンドラーの実行前のインターセプトポイント。HandlerMapping が適切なハンドラーオブジェクトを決定した後、HandlerAdapter がハンドラーを呼び出す前に呼び出されます。DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンでハンドラーを処理し、ハンドラー自体を最後に処理します。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定でき、通常は HTTP エラーを送信するか、カスタムレスポンスを作成します。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、
AsyncHandlerInterceptor
を参照してください。デフォルトの実装は
true
を返します。- 次で指定:
- インターフェース
HandlerInterceptor
のpreHandle
- パラメーター:
request
- 現在の HTTP リクエストresponse
- 現在の HTTP レスポンスhandler
- 型および / またはインスタンス評価のために、実行するために選択されたハンドラー- 戻り値:
- 実行チェーンが次のインターセプターまたはハンドラー自体を続行する必要がある場合は、
true
。そうでない場合、DispatcherServlet は、このインターセプターがすでにレスポンス自体を処理していると想定します。 - 例外:
ExceptionSE
- エラーの場合
postHandle
public void postHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ModelAndView modelAndView) throws ExceptionSE インターフェースからコピーされた説明:HandlerInterceptor
ハンドラーの実行が成功した後のインターセプトポイント。HandlerAdapter が実際にハンドラーを呼び出した後、DispatcherServlet がビューをレンダリングする前に呼び出されます。指定された ModelAndView を介して、追加のモデルオブジェクトをビューに公開できます。DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンのハンドラーを処理します。ハンドラー自体は最後にあります。このメソッドを使用すると、各インターセプターは実行を後処理でき、実行チェーンの逆順で適用されます。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、
AsyncHandlerInterceptor
を参照してください。デフォルトの実装は空です。
- 次で指定:
- インターフェース
HandlerInterceptor
のpostHandle
- パラメーター:
request
- 現在の HTTP リクエストresponse
- 現在の HTTP レスポンスhandler
- 型やインスタンスの検査のために、非同期実行を開始したハンドラー(またはHandlerMethod
)modelAndView
- ハンドラーが返したModelAndView
(null
にすることもできます)- 例外:
ExceptionSE
- エラーの場合
afterCompletion
public void afterCompletion(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ExceptionSE ex) throws ExceptionSE インターフェースからコピーされた説明:HandlerInterceptor
リクエスト処理の完了後、つまりビューのレンダリング後のコールバック。ハンドラー実行の結果で呼び出されるため、適切なリソースのクリーンアップが可能になります。メモ: このインターセプターの
preHandle
メソッドが正常に完了し、true
を返した場合にのみ呼び出されます!postHandle
メソッドと同様に、このメソッドはチェーンの各インターセプターで逆の順序で呼び出されるため、最初のインターセプターが最後に呼び出されます。注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、
AsyncHandlerInterceptor
を参照してください。デフォルトの実装は空です。
- 次で指定:
- インターフェース
HandlerInterceptor
のafterCompletion
- パラメーター:
request
- 現在の HTTP リクエストresponse
- 現在の HTTP レスポンスhandler
- 型やインスタンスの検査のために、非同期実行を開始したハンドラー(またはHandlerMethod
)ex
- ハンドラーの実行時にスローされる例外(ある場合)。これには、例外リゾルバーを介して処理された例外は含まれません- 例外:
ExceptionSE
- エラーの場合
afterConcurrentHandlingStarted
public void afterConcurrentHandlingStarted(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) インターフェースからコピーされた説明:AsyncHandlerInterceptor
ハンドラーが同時に実行されている場合、postHandle
およびafterCompletion
の代わりに呼び出されます。実装では、提供されたリクエストとレスポンスを使用できますが、ハンドラーの同時実行と競合する方法で変更しないでください。このメソッドの典型的な使用箇所は、スレッドローカル変数をクリーンアップすることです。
- 次で指定:
- インターフェース
AsyncHandlerInterceptor
のafterConcurrentHandlingStarted
- パラメーター:
request
- 現在のリクエストresponse
- 現在のレスポンスhandler
- 型および / またはインスタンスの検査のために、非同期実行を開始したハンドラー(またはHandlerMethod
)