転送元:サーブレット
////////////////////////////////////////////////////////////////////////////////
//  << sv132a.java >>
//
// サーブレット(3):要求の転送(パラメータ)
//
//  サーブレットは、クライアントからの要求を他のサーブレットに転送できる。
//  その際に、setAttributeメソッドを使って、パラメータを渡すことができ、
//  getAttributeメソッドを使ってパラメータを受け取ることができる。
//
// ●javax.servlet.ServletRequestインターフェース
//  クライアントの要求に含まれている情報をサーブレットに提供するオブジェクト
//  を定義している。サーブレットコンテナがServletRequestオブジェクトを作成する。
//  ServletRequestオブジェクトからは、属性、入力ストリームなどが取得できる。
//
// ●ServletRequestインターフェースのメソッド
//    public Object getAttribute(String s)
//   機能:指定されたCATALINA属性sの値をObjectとして返す。指定された名前の属性が
//      存在しない場合は、null を返す。 
//  public void setAttribute(String s, Object obj)
//   機能:要求に対し属性sに値objを設定し格納する。
//      このメソッドは、通常 RequestDispatcher と併せて使用する。 
//
// ●起動法
//  (1)Javaファイル(sv132a.java)をコンパイルし、classファイル(sv132a.class)を
//       作成する。
//       ただし、Javaファイル(sv132a.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132a.java
//     classファイル(sv133.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132a.class
//     転送先ファイル(sv132at.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132at.class
//       に保存する。
//    (2)入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv132a)
//       を指定する。
//
////////////////////////////////////////////////////////////////////////////////

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

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

    // パラメータの設定。 
    request.setAttribute("P1","茨城県水戸市");
    request.setAttribute("P2",new Integer(123));

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

    // ディスパッチャを取得。
    RequestDispatcher rd = sc.getRequestDispatcher("/servlet/sv132at");

    // 要求の転送。
    rd.forward(request,response);
  }
}
転送先:サーブレット
////////////////////////////////////////////////////////////////////////////////
//  << sv132at.java >>
//
// サーブレット(3):要求の転送(転送先、パラメータ)
//
// ●ServletRequestインターフェースのメソッド
//    public Object getAttribute(String s)
//   機能:指定された属性sの値をObjectとして返す。指定された名前の属性が
//      存在しない場合は、null を返す。 
//  public void setAttribute(String s, Object obj)
//   機能:要求に対し属性sに値objを設定し格納する。
//      このメソッドは、通常 RequestDispatcher と併せて使用する。 
//
// ●起動法
//  (1)Javaファイル(sv132at.java)をコンパイルし、classファイル(sv132at.class)
//       を作成する。
//       ただし、Javaファイル(sv132at.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132at.java
//     classファイル(sv132at.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132at.class
//    に保存する。
//
////////////////////////////////////////////////////////////////////////////////

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

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

    // パラメータの取得。
    request.setCharacterEncoding("JISAutoDetect"); 
    String p1 = (String)request.getAttribute("P1");
    Integer p2 = (Integer)request.getAttribute("P2");
    int n = p2.intValue();

    // コンテンツタイプの指定。
    response.setContentType("text/html; charset=Shift_JIS");

    // HTML文書の出力。
    PrintWriter pw = response.getWriter();
    pw.println("<html>"                                            
             + "<head><title>サーブレット</title></head>"          
             + "<body>"                                            
             + "転送先からの出力です<br>"                 
             + "パラメータ(P1):" + p1 + "<br>"
             + "パラメータ(P2):" + n + "<br>"
             + "</body>"                                           
             + "</html>");                                         
    pw.flush();
    pw.close();
  }
}
入力フォーム
<form action=http://localhost:8080/SV/servlet/sv132a method=POST>
  <input type=submit value=実行>
</form>
実行結果

実行後