@FunctionalInterfaceSE public interface HttpRequestHandler
ServletExceptionEE および IOExceptionSE のみを宣言し、任意の HttpServletEE 内で使用できるようにします。このインターフェースは本質的に HttpServlet の直接の同等物であり、主要なハンドルメソッドに縮小されます。Spring スタイルで HttpRequestHandler Bean を公開する最も簡単な方法は、Spring のルート Web アプリケーションコンテキストでそれを定義し、web.xml で HttpRequestHandlerServlet を定義して、ターゲット Bean 名と一致する必要がある servlet-name を介してターゲット HttpRequestHandler Bean をポイントすることです。
Spring の DispatcherServlet 内のハンドラー型としてサポートされ、ディスパッチャーの高度なマッピングおよびインターセプト機能と対話できます。これは、HttpRequestHandler を公開し、ハンドラーの実装を DispatcherServlet 環境に直接依存しないようにする推奨される方法です。
通常、バイナリレスポンスを直接生成するために実装され、個別のビューリソースは関与しません。これは、Spring の Web MVC フレームワーク内の Controller とは異なります。ModelAndView の戻り値がないため、DispatcherServlet 以外の呼び出し元に署名が明確になり、レンダリングするビューがないことを示します。
Spring 2.0 の時点で、HttpInvokerServiceExporter や HessianServiceExporter などの Spring の HTTP ベースのリモートエクスポーターは、Spring 固有の Web インフラストラクチャへの依存を最小限に抑えるために、より広範なコントローラーインターフェースではなくこのインターフェースを実装しています。
HttpRequestHandlers は、Spring の DispatcherServlet 内で実行される場合、コントローラーと同様に、オプションで LastModified インターフェースを実装できます。ただし、HttpRequestHandlers は通常、そもそも POST リクエストのみをサポートするため、これは通常必要ありません。または、ハンドラーは、handle メソッド内で "If-Modified-Since" HTTP ヘッダー処理を手動で実装することもできます。
HttpRequestHandlerServlet, DispatcherServlet, ModelAndView, Controller, LastModified, HttpRequestHandlerAdapter, HttpInvokerServiceExporter, HessianServiceExporter| 修飾子と型 | メソッドと説明 |
|---|---|
void | handleRequest(HttpServletRequestEE request, HttpServletResponseEE response) 指定されたリクエストを処理し、レスポンスを生成します。 |
void handleRequest(HttpServletRequestEE request, HttpServletResponseEE response) throws ServletExceptionEE, IOExceptionSE
request - 現在の HTTP リクエスト response - 現在の HTTP レスポンス ServletExceptionEE - 一般的なエラーの場合 IOExceptionSE - I/O エラーの場合