クラス WebRequestHandlerInterceptorAdapter
- 実装されているすべてのインターフェース:
AsyncHandlerInterceptor,HandlerInterceptor
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明WebRequestHandlerInterceptorAdapter(WebRequestInterceptor requestInterceptor) 指定された WebRequestInterceptor の新しい WebRequestHandlerInterceptorAdapter を作成します。メソッドのサマリー
修飾子と型メソッド説明voidafterCompletion(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ExceptionSE ex) リクエスト処理の完了後、つまりビューのレンダリング後のコールバック。voidafterConcurrentHandlingStarted(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) ハンドラーが同時に実行されている場合、postHandleおよびafterCompletionの代わりに呼び出されます。voidpostHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, ModelAndView modelAndView) ハンドラーの実行が成功した後のインターセプトポイント。booleanpreHandle(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)