public interface HandlerAdapter リクエストを処理するために各ハンドラー型に実装する必要があるインターフェース。このインターフェースは、DispatcherServlet を無制限に拡張できるようにするために使用されます。DispatcherServlet は、このインターフェースを介してインストールされているすべてのハンドラーにアクセスします。つまり、DispatcherServlet には、ハンドラー型に固有のコードが含まれていません。
ハンドラーは Object 型にすることができることに注意してください。これは、他のフレームワークのハンドラーをカスタムコーディングなしでこのフレームワークと統合できるようにするとともに、特定の Java インターフェースに従わないアノテーション駆動型ハンドラーオブジェクトを可能にするためです。
このインターフェースは、アプリケーション開発者を対象としたものではありません。独自の Web ワークフローを開発したいハンドラーが利用できます。
メモ: HandlerAdapter インプリメンターは、Ordered インターフェースを実装して、DispatcherServlet によって適用されるためのソート順(つまり優先順位)を指定できるようにすることができます。順序付けされていないインスタンスは、最も低い優先度として扱われます。
SimpleControllerHandlerAdapter, SimpleServletHandlerAdapter| 修飾子と型 | メソッドと説明 |
|---|---|
long | getLastModified(HttpServletRequestEE request, ObjectSE handler)HttpServlet の getLastModified メソッドと同じ契約。 |
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 - エラーの場合 long getLastModified(HttpServletRequestEE request, ObjectSE handler)
getLastModified メソッドと同じ契約。ハンドラークラスにサポートがない場合は、単に -1 を返すことができます。request - 現在の HTTP リクエスト handler - 使用するハンドラー HttpServlet.getLastModified(javax.servlet.http.HttpServletRequest)EE, LastModified.getLastModified(javax.servlet.http.HttpServletRequest)