転送元:サーブレット
////////////////////////////////////////////////////////////////////////////////
//  << sv133b.java >>
//
// サーブレット(3):要求の転送(Beanとの連携)
//
//  Beanを経由して転送先サーブレットにデータを渡す。
//    転送データは、配列とする。
//
// ●起動法
//  (1)Javaファイル(sv133b.java)をコンパイルし、classファイル(sv133b.class)を
//       作成する。
//       ただし、Javaファイル(sv133b.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv133b.java
//     classファイル(sv133b.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv133b.class
//       に保存する。
//    (2)入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv133b)
//       を指定する。
//
////////////////////////////////////////////////////////////////////////////////

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

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

    // Beanの呼び出しと実行。
    sv133bBean bean = new sv133bBean();
    String a[] = {"aaa","bbb","ccc"};
    bean.setArray(a); 
    bean.execute();

    // 要求にBeanの実行結果を設定。
    request.setAttribute("PARAM", bean);

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

    // 要求を転送先サーブレット(/servlet/sv133bt)に転送。
    sc.getRequestDispatcher("/servlet/sv133bt").forward(request,response);
  }
}
Bean
////////////////////////////////////////////////////////////////////////////////
//  << sv133bBean.java >>
//
// サーブレット(3):要求の転送(Bean)
//
//  Beanの機能:このBeanは、同じ文字列を連結して返す。
//
//    ・Beanは、単体で実行できない。
//
// ●起動法
//  Beanは、beansパッケージに入れる。
//  (1)Javaファイル(sv133bBean.java)をコンパイルし、classファイル
//    (sv133bBean.class)を作成する。
//       ただし、Javaファイル(sv133bBean.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\beans\sv133bBean.java
//     classファイル(sv133bBean.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\beans\sv133bBean.class
//       に保存する。
//
////////////////////////////////////////////////////////////////////////////////

package beans;
import java.io.*;

public class sv133bBean implements Serializable {

  // プロパティの設定。                        
  private String s[] = new String[9];
                                               
  // 引数なしのコンストラクタ。                
  public sv133bBean() { 
    for( int i=0; i<s.length; i++ ) { s[i] = ""; }
  }
                                               
  // setArrayの定義。                           
  public void setArray(String s[]) { this.s = s; }                                   
  // getArrayの定義。                           
  public String[] getArray() { return s; }
                                               
  // executeの定義。                           
  public void execute() { 
    for( int i=0; i<s.length; i++ ) { s[i] = s[i] + s[i]; }
  }
} 
転送先:サーブレット
////////////////////////////////////////////////////////////////////////////////
//  << sv133bt.java >>
//
// サーブレット(3):要求の転送(転送先、Beanとの連携)
//
//  Beanを経由してデータ(配列)を受け取る。
//
// ●起動法
//  (1)Javaファイル(sv133bt.java)をコンパイルし、classファイル(sv133bt.class)
//       を作成する。
//       ただし、Javaファイル(sv133bt.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv133bt.java
//     classファイル(sv133bt.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv133bt.class
//       に保存する。
//
////////////////////////////////////////////////////////////////////////////////

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

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

    // Beanのインスタンス化。
    request.setCharacterEncoding("JISAutoDetect"); 
    sv133bBean bean = (sv133bBean)request.getAttribute("PARAM");

    // 配列の取得。
    String s[] = bean.getArray();

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

    // 応答をWebクライアントに返す。
    // HTML文書の出力。                                                  
    PrintWriter pw = response.getWriter();                               
    pw.println("<html>"                                                
             + "<head><title>サーブレット</title></head>"              
             + "<body>"                                                
             + "転送先サーブレットからの出力です<br>");

    for( int i=0; i<s.length; i++ ) {          
      pw.println(i + ": " + s[i] + "<br>");
    }                                  

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

実行後