インターフェース HandlerAdapter
- すべての既知の実装クラス:
AbstractHandlerMethodAdapter
、HandlerFunctionAdapter
、HttpRequestHandlerAdapter
、RequestMappingHandlerAdapter
、SimpleControllerHandlerAdapter
、SimpleServletHandlerAdapter
public interface HandlerAdapter
MVC フレームワーク SPI。コア MVC ワークフローのパラメーター化を可能にします。
リクエストを処理するために各ハンドラー型に実装する必要があるインターフェース。このインターフェースは、DispatcherServlet
を無制限に拡張できるようにするために使用されます。DispatcherServlet
は、このインターフェースを介してインストールされているすべてのハンドラーにアクセスします。つまり、DispatcherServlet
には、ハンドラー型に固有のコードが含まれていません。
ハンドラーは Object
型にすることができることに注意してください。これは、他のフレームワークのハンドラーをカスタムコーディングなしでこのフレームワークと統合できるようにするとともに、特定の Java インターフェースに従わないアノテーション駆動型ハンドラーオブジェクトを可能にするためです。
このインターフェースは、アプリケーション開発者を対象としたものではありません。独自の Web ワークフローを開発したいハンドラーが利用できます。
メモ: HandlerAdapter
の実装者は、Ordered
インターフェースを実装して、DispatcherServlet
によって適用されるソート順(したがって優先順位)を指定できるようにすることができます。順序付けされていないインスタンスは、最低の優先度として扱われます。
- 作成者:
- Rod Johnson, Juergen Hoeller
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明long
getLastModified
(HttpServletRequestEE request, ObjectSE handler) 使用すべきではありません。handle
(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) 指定されたハンドラーを使用して、このリクエストを処理します。boolean
ハンドラーインスタンスを指定して、このHandlerAdapter
がそれをサポートできるかどうかを返します。
メソッドの詳細
supports
ハンドラーインスタンスを指定して、このHandlerAdapter
がそれをサポートできるかどうかを返します。通常の HandlerAdapters は、ハンドラー型に基づいて決定を行います。HandlerAdapters は通常、それぞれ 1 つのハンドラー型のみをサポートします。典型的な実装:
return (handler instanceof MyHandler);
- パラメーター:
handler
- チェックするハンドラーオブジェクト- 戻り値:
- このオブジェクトが特定のハンドラーを使用できるかどうか
handle
@Nullable ModelAndView handle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ExceptionSE 指定されたハンドラーを使用して、このリクエストを処理します。必要なワークフローは大きく異なる場合があります。- パラメーター:
request
- 現在の HTTP リクエストresponse
- 現在の HTTP レスポンスhandler
- 使用するハンドラー。このオブジェクトは、このインターフェースのsupports
メソッドに事前に渡されている必要があり、このメソッドはtrue
を返している必要があります。- 戻り値:
- ビューの名前と必要なモデルデータを含む ModelAndView オブジェクト、またはリクエストが直接処理された場合は
null
- 例外:
ExceptionSE
- エラーの場合
getLastModified
使用すべきではありません。5.3.9 以降、LastModified
も同様。HttpServlet のgetLastModified
メソッドと同じ契約。ハンドラークラスにサポートがない場合は、単に -1 を返すことができます。- パラメーター:
request
- 現在の HTTP リクエストhandler
- 使用するハンドラー- 戻り値:
- 指定されたハンドラーの lastModified 値
LastModified
も同様。