インターフェース HandlerAdapter

すべての既知の実装クラス:
AbstractHandlerMethodAdapterHandlerFunctionAdapterHttpRequestHandlerAdapterRequestMappingHandlerAdapterSimpleControllerHandlerAdapterSimpleServletHandlerAdapter

public interface HandlerAdapter
MVC フレームワーク SPI。コア MVC ワークフローのパラメーター化を可能にします。

リクエストを処理するために各ハンドラー型に実装する必要があるインターフェース。このインターフェースは、DispatcherServlet を無制限に拡張できるようにするために使用されます。DispatcherServlet は、このインターフェースを介してインストールされているすべてのハンドラーにアクセスします。つまり、DispatcherServlet には、ハンドラー型に固有のコードが含まれていません。

ハンドラーは Object 型にすることができることに注意してください。これは、他のフレームワークのハンドラーをカスタムコーディングなしでこのフレームワークと統合できるようにするとともに、特定の Java インターフェースに従わないアノテーション駆動型ハンドラーオブジェクトを可能にするためです。

このインターフェースは、アプリケーション開発者を対象としたものではありません。独自の Web ワークフローを開発したいハンドラーが利用できます。

メモ: HandlerAdapter の実装者は、Ordered インターフェースを実装して、DispatcherServlet によって適用されるソート順(したがって優先順位)を指定できるようにすることができます。順序付けされていないインスタンスは、最低の優先度として扱われます。

作成者:
Rod Johnson, Juergen Hoeller
関連事項:
  • メソッドの詳細

    • supports

      boolean supports(ObjectSE handler)
      ハンドラーインスタンスを指定して、この HandlerAdapter がそれをサポートできるかどうかを返します。通常の HandlerAdapters は、ハンドラー型に基づいて決定を行います。HandlerAdapters は通常、それぞれ 1 つのハンドラー型のみをサポートします。

      典型的な実装:

      return (handler instanceof MyHandler);

      パラメーター:
      handler - チェックするハンドラーオブジェクト
      戻り値:
      このオブジェクトが特定のハンドラーを使用できるかどうか
    • handle

      指定されたハンドラーを使用して、このリクエストを処理します。必要なワークフローは大きく異なる場合があります。
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
      handler - 使用するハンドラー。このオブジェクトは、このインターフェースの supports メソッドに事前に渡されている必要があり、このメソッドは true を返している必要があります。
      戻り値:
      ビューの名前と必要なモデルデータを含む ModelAndView オブジェクト、またはリクエストが直接処理された場合は null 
      例外:
      ExceptionSE - エラーの場合
    • getLastModified

      @DeprecatedSE long getLastModified(HttpServletRequestEE request, ObjectSE handler)
      使用すべきではありません。
      5.3.9 以降、LastModified も同様。
      HttpServlet の getLastModified メソッドと同じ契約。ハンドラークラスにサポートがない場合は、単に -1 を返すことができます。
      パラメーター:
      request - 現在の HTTP リクエスト
      handler - 使用するハンドラー
      戻り値:
      指定されたハンドラーの lastModified 値