////////////////////////////////////////////////////////////////////////////////
//  << sv151b.java >>
//
// サーブレット(5):クッキー(受信)
//
//   クッキーの受信を行う。
//
// ●Cookieクラスのメソッド
//   public String getName()
//   機能:クッキーの名前を返す。名前は作成後に変更できない。
//    public String getValue()
//   機能:クッキーの値を返す。
//
// ●HttpServletRequestインターフェースのメソッド
//  public Cookie[] getCookies()
//   機能:Webクライアントから送信されてきたクッキーをCookieオブジェクトの
//      配列として返す。クッキーが送信されなかった場合、nullを返す。
//
// ●クッキーの処理
//  (1)HttpServletRequestオブジェクトのaddCookieメソッドを使って、
//     Webクライアントにクッキーの情報を返す。
//  (2)HttpServletRequestオブジェクトのgetCookiesメソッドを使って、
//     Webクライアントから送られてきたすべてのクッキーの情報をCookie
//     オブジェクトの配列として取得する。
//
// ●起動法
//  (1)Javaファイル(sv151b.java)をコンパイルし、classファイル(sv151b.class)を
//       作成する。
//       ただし、Javaファイル(sv151b.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv151b.java
//     classファイル(sv151b.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv151b.class
//       に保存する。
//    (2)入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv151b)
//       を指定する。
//
////////////////////////////////////////////////////////////////////////////////

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

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

    // クッキーの受信。
    Cookie c[] = request.getCookies();

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

    // HTML文書を送信。
    PrintWriter pw = response.getWriter();
    pw.println("<html>"                                    
             + "<head><title>サーブレット</title></head>"  
             + "<body>"                                    
             + "クッキーの受信を行いました<br>");

    // クッキーの内容表示。
    if( c != null ) {
      for( int i=0; i<c.length; i++ ) {
        pw.println("項目名:" + c[i].getName() + "  "
                 + "値:" + c[i].getValue() + "<br>");
      }
    }

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

実行後(クッキーを作成したWebクライアントの接続が維持されている場合)


実行後(クッキーを作成したWebクライアントの接続が切れて新たに接続された場合)