クラス WebRequestHandlerInterceptorAdapter

java.lang.ObjectSE
org.springframework.web.servlet.handler.WebRequestHandlerInterceptorAdapter
実装されたすべてのインターフェース:
AsyncHandlerInterceptorHandlerInterceptor

public class WebRequestHandlerInterceptorAdapter extends ObjectSE implements AsyncHandlerInterceptor
サーブレット HandlerInterceptor インターフェースを実装し、基礎となる WebRequestInterceptor をラップするアダプター。
導入:
2.0
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • WebRequestHandlerInterceptorAdapter

      public WebRequestHandlerInterceptorAdapter(WebRequestInterceptor requestInterceptor)
      指定された WebRequestInterceptor の新しい WebRequestHandlerInterceptorAdapter を作成します。
      パラメーター:
      requestInterceptor - ラップする WebRequestInterceptor
  • メソッドの詳細

    • preHandle

      public boolean preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ExceptionSE
      インターフェースからコピーされた説明: HandlerInterceptor
      ハンドラーの実行前のインターセプトポイント。HandlerMapping が適切なハンドラーオブジェクトを決定した後、HandlerAdapter がハンドラーを呼び出す前に呼び出されます。

      DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンでハンドラーを処理し、ハンドラー自体を最後に処理します。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定でき、通常は HTTP エラーを送信するか、カスタムレスポンスを作成します。

      注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor を参照してください。

      デフォルトの実装は true を返します。

      次で指定:
      インターフェース HandlerInterceptorpreHandle 
      パラメーター:
      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 を参照してください。

      デフォルトの実装は空です。

      次で指定:
      インターフェース HandlerInterceptorpostHandle 
      パラメーター:
      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 を参照してください。

      デフォルトの実装は空です。

      次で指定:
      インターフェース HandlerInterceptorafterCompletion 
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
      handler - 型やインスタンスの検査のために、非同期実行を開始したハンドラー(または HandlerMethod
      ex - ハンドラーの実行時にスローされる例外(ある場合)。これには、例外リゾルバーを介して処理された例外は含まれません
      例外:
      ExceptionSE - エラーの場合
    • afterConcurrentHandlingStarted

      public void afterConcurrentHandlingStarted(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler)
      インターフェースからコピーされた説明: AsyncHandlerInterceptor
      ハンドラーが同時に実行されている場合、postHandle および afterCompletion の代わりに呼び出されます。

      実装では、提供されたリクエストとレスポンスを使用できますが、ハンドラーの同時実行と競合する方法で変更しないでください。このメソッドの典型的な使用箇所は、スレッドローカル変数をクリーンアップすることです。

      次で指定:
      インターフェース AsyncHandlerInterceptorafterConcurrentHandlingStarted 
      パラメーター:
      request - 現在のリクエスト
      response - 現在のレスポンス
      handler - 型および / またはインスタンスの検査のために、非同期実行を開始したハンドラー(または HandlerMethod