インターフェース WebRequestInterceptor
- すべての既知のサブインターフェース:
AsyncWebRequestInterceptor
public interface WebRequestInterceptor
一般的な Web リクエストのインターセプトのためのインターフェース。
WebRequest
抽象化を構築することにより、サーブレットリクエストに適用できるようにします。このインターフェースは、MVC スタイルのリクエスト処理を前提としています。ハンドラーが実行され、一連のモデルオブジェクトが公開されてから、そのモデルに基づいてビューがレンダリングされます。または、ハンドラーは、ビューをレンダリングせずにリクエストを完全に処理することもできます。
非同期処理のシナリオでは、メインスレッドが postHandle
および afterCompletion
コールバックをレンダリングまたは呼び出さずに終了するときに、ハンドラーが別のスレッドで実行される場合があります。ハンドラーの同時実行が完了すると、モデルのレンダリングを続行するためにリクエストがディスパッチされ、この契約のすべてのメソッドが再度呼び出されます。その他のオプションとコメントについては、org.springframework.web.context.request.async.AsyncWebRequestInterceptor
を参照してください
このインターフェースは、一般的なリクエストインターセプターの依存関係を可能な限り最小限に抑えるために、意図的に最小限に抑えられています。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller
- 関連事項:
方法の概要
修飾子と型メソッド説明void
afterCompletion
(WebRequest request, ExceptionSE ex) リクエスト処理の完了後、つまりビューのレンダリング後のコールバック。void
postHandle
(WebRequest request, ModelMap model) 呼び出しが成功した後、ビューのレンダリングの前に(もしあれば)リクエストハンドラーの実行をインターセプトします。void
preHandle
(WebRequest request) 呼び出しの前にリクエストハンドラーの実行をインターセプトします。
メソッドの詳細
preHandle
呼び出しの前にリクエストハンドラーの実行をインターセプトします。コンテキストリソース(Hibernate セッションなど)を準備し、リクエスト属性またはスレッドローカルオブジェクトとして公開できます。
- パラメーター:
request
- 現在の Web リクエスト- 例外:
ExceptionSE
- エラーの場合
postHandle
呼び出しが成功した後、ビューのレンダリングの前に(もしあれば)リクエストハンドラーの実行をインターセプトします。ハンドラーの実行が成功した後にコンテキストリソースを変更することができます(たとえば、Hibernate セッションのフラッシュ)。
- パラメーター:
request
- 現在の Web リクエストmodel
- ビューに公開されるモデルオブジェクトのマップ(null
の場合があります)。必要に応じて、公開されたモデルの分析やモデル属性の追加に使用できます。- 例外:
ExceptionSE
- エラーの場合
afterCompletion
リクエスト処理の完了後、つまりビューのレンダリング後のコールバック。ハンドラー実行の結果で呼び出されるため、適切なリソースのクリーンアップが可能になります。メモ: このインターセプターの
preHandle
メソッドが正常に完了した場合にのみ呼び出されます!- パラメーター:
request
- 現在の Web リクエストex
- ハンドラーの実行時にスローされる例外(ある場合)- 例外:
ExceptionSE
- エラーの場合