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