転送元:サーブレット
////////////////////////////////////////////////////////////////////////////////
//  << sv131a.java >>
//
// サーブレット(3):要求の転送(転送先:HTMLファイル)
//
//  サーブレットは、クライアントからの要求を他のHTMLファイルに転送できる。
//  この結果、クライアントには、転送先のHTMLファイルが送られてくる。
//  このようにすると、サーブレット中にHTML文書を埋め込む必要がなくなり、
//  サーブレットを簡潔に書くことができる。
//  また、クライアントからの要求を他のサーブレットに転送することもできるので、
//  柔軟なシステムを作ることもできる。
//
// ●javax.servlet.ServletContextインターフェース
//  サーブレットが、サーブレットコンテナにアクセスするメソッドを定義する。
//  たとえば、MIME タイプのファイルの取得、要求の振り分け、ログファイルへの
//  書き込みといったメソッドである。
//
// ●ServletContextインターフェースのメソッド
//  public RequestDispatcher getRequestDispatcher(String path)
//   機能:指定されたパスpathにあるリソース(HTMLファイルやJSPなど)の
//      RequestDispatcherオブジェクトを返す。
//      RequestDispatcherオブジェクトは、指定されたパスpathにある
//      リソースへ要求を転送するために使う。
//      パスpathは "/" で始める必要があり、/sv131at.htmは、
//      %CATALINA_HOME%webapps\SV\sv131at.htm を意味する。
//            RequestDispatcherオブジェクトを返すことができない場合、null を
//      返す。
//
// ●javax.servlet.RequestDispatcherインターフェース
//  クライアントからの要求を受信し、さらにその要求をサーバ上の他のサーブレット、
//  HTMLファイル、JSPファイルなどに転送するオブジェクトを定義する。
//  RequestDispatcherオブジェクトは、サーブレットコンテナによって作成される。
//
// ●RequestDispatcherインターフェースのメソッド
//  public void forward(ServletRequest request, ServletResponse response)
//                  throws ServletException,IOException
//   機能:サーブレットからの要求をサーバ上の他のサーブレット、JSPファイル、
//      HTMLファイルに転送する。
//
// ●要求転送の手順
//
// (手順1)ServletContextオブジェクトをgetServletContextメソッドで取得する。
// (手順2)ServletContextオブジェクトのgetRequestDispatcherメソッドで
//      RequestDispatcherオブジェクトを取得する。
// (手順3)RequestDispatcherオブジェクトのforwardメソッドを使って、
//      転送先に要求を転送する。
//
// ●起動法
//  (1)Javaファイル(sv131ajava)をコンパイルし、classファイル(sv131a.class)を
//       作成する。
//       ただし、Javaファイル(sv131a.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv131a.java
//     classファイル(sv131a.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv131a.class
//     転送先ファイル(sv131at.htm)は、
//       %CATALINA_HOME%\webapps\SV\sv131at.htm
//       に保存する。
//    (2)入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv131a)
//       を指定する。
//
////////////////////////////////////////////////////////////////////////////////

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class sv131a extends HttpServlet {
  public void doPost(HttpServletRequest request, HttpServletResponse response)
                     throws ServletException,IOException {

    // (手順1)サーブレットコンテキストを取得。
    ServletContext sc = this.getServletContext();

    // (手順2)ディスパッチャを取得。
    RequestDispatcher rd = sc.getRequestDispatcher("/sv131at.htm");

    // (手順3)要求の転送。
    rd.forward(request,response);
  }
}
転送先:HTMLファイル
<!-- << sv131a.htm >> -->
<html>
<head><title>HTML</title></head>
<body bgcolor="white" text="black">
転送先のHTML文書です<br>
</body>
</html>
入力フォーム
<form action=http://localhost:8080/SV/servlet/sv131a method=POST>
  <input type=submit value=実行>
</form>
実行結果

実行後