転送元:サーブレット
////////////////////////////////////////////////////////////////////////////////
//  << sv132b.java >>
//
// サーブレット(3):要求の転送(パラメータ、配列)
//
//  サーブレットは、クライアントからの要求を他のサーブレットに転送できる。
//  その際に、setAttributeメソッドを使って、パラメータを渡すことができ、
//  getAttributeメソッドを使ってパラメータを受け取ることができる。
//
//  パラメータとして、ArrayListクラスを使う。
//  ・このクラスは、実行時にサイズを変更できる配列である。
//  ・このクラスに保存される要素は、単純なデータ型でなくオブジェクトである。
//
// ●起動法
//  (1)Javaファイル(sv132b.java)をコンパイルし、classファイル(sv132b.class)を
//       作成する。
//       ただし、Javaファイル(sv132b.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132b.java
//     classファイル(sv132b.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132b.class
//       転送先ファイル(sv132bt.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132bt.class
//    に保存する。
//    (2)入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv132b)
//       を指定する。
//
////////////////////////////////////////////////////////////////////////////////

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

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

    // パラメータの設定。 
    ArrayList a = new ArrayList();

    // 要素を代入。
    a.add("abc");
    a.add(new Integer(123));
    a.add("茨城県水戸市");
    request.setAttribute("PARAM",a);

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

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

    // 要求の転送。
    rd.forward(request,response);
  }
}
転送先:サーブレット
////////////////////////////////////////////////////////////////////////////////
//  << sv132bt.java >>
//
// サーブレット(3):要求の転送(転送先、パラメータ、配列)
//
// ●起動法
//  (1)Javaファイル(sv132bt.java)をコンパイルし、classファイル(sv132bt.class)
//       を作成する。
//       ただし、Javaファイル(sv132bt.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132bt.java
//     classファイル(sv132bt.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv132bt.class
//    に保存する。
//
////////////////////////////////////////////////////////////////////////////////

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

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

    // パラメータの取得。
    request.setCharacterEncoding("JISAutoDetect"); 
    ArrayList b = (ArrayList)request.getAttribute("PARAM");

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

    // HTML文書の出力。
    PrintWriter pw = response.getWriter();
    pw.println("<html>"                                            
             + "<head><title>サーブレット</title></head>"          
             + "<body>"                                            
             + "転送先からの出力です<br>"
             + "パラメータ(配列)<br>"); 

    for( int i=0; i<b.size(); i++ ) {                 
      pw.println(i + ": " + b.get(i) + "<br>");
    }

    pw.println("</body>"                                           
             + "</html>");                                         
    pw.flush();
    pw.close();
  }
}
入力フォーム
<form action=http://localhost:8080/SV/servlet/sv132b method=POST>
  <input type=submit value=実行>
</form>
実行結果

実行後