目次へ

5. includeとforward

5.1. 他のサーブレットの呼び出し

サーブレットから他のサーブレットに処理を一部委託したい場合や、全面的に引き継ぎたい場合が考えられます。昔のJava Servlet APIでは、「ServletContext」クラスの「getServlet」「getServlets」メソッドで、「Servlet」オブジェクトを取得する事ができたので、このメソッドを介して他のサーブレットに処理を委託する事ができました。

しかしバージョン2.1以降、この方法は問題が多いので削除される事となりました。現在もこれらのメソッドは定義されていますが、常にnullが返されるようになっています。その代わりとして、「include」と「forward」が提供されるようになりました。includeはSSIのようなもので、一部分の表示を他に委託して任せるというものです。1つのページの中に他の「HTML」や、「JSP」「Servlet」の処理結果を含める事ができます。

「forward」は、処理を完全に他に転送してしまいます。HTTPにもリダイレクトがありますが、これは一旦クライアント側に応答を返した後、クライアント側から別のページへ自動的に移動するという形をとります。サーブレットのforwardはサーバ内部で転送が行われるので、クライアントに応答を返すというオーバーヘッドがありません。以降、includeとforwardについて説明します。

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp