インターフェース 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
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明longgetLastModified(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も同様。