////////////////////////////////////////////////////////////////////////////////
//  << sv151a.java >>
//
// サーブレット(5):クッキー(作成と送信)
//
//  クッキーの作成、送信を行う。
//
// ●クッキー(cookie)とは
//  ・クッキーは、項目名とその値の対で、Webサーバで作成され、Webクライアントに
//   送信され保存される情報である。Webクライアントが接続するときに、
//   Webサーバに送信される。
//  ・クライアントを識別し、その状態を保存する仕組みとして、クッキーが
//   考えられた。クッキーの値でクライアントを一意に識別できるので、
//   クッキーはユーザ単位の管理に広く使われる。 
//  ・クッキーは、最大存続時間等の属性を持つ。
//    ・セッションが、Webクライアントに接続している期間内で、Webクライアントを
//   管理するのに対して、クッキーはWebクライアントと接続が切れた後も管理する
//   ことが可能である。
//
// ●javax.servlet.http.Cookieクラス
//  クッキーを扱うクラスである。
//
// ●Cookieクラスのコンストラクタ
//    public Cookie Cookie(String s1, String s2)
//   機能:名前s1と値s2をもつクッキーを作成する。
//            名前は、英数字のみでカンマやセミコロン、空白が入っていたり、
//      $ 文字で始まっていていはいけない。
//
// ●HttpServletResponseインターフェースのメソッド
//  public void addCookie(Cookie c)
//   機能:クッキーcを応答に追加する。
//    public void setMaxAge(int t)
//   機能:tが正の場合、クッキーをt秒間存続させる。
//      tが0の場合、クッキーは削除される。
//      tが負の場合、クッキーは保存されない。
//    ・通常の場合、クッキーの有効期間は、Webクライアントがアクセスしてから、
//    接続を切るまでである。
//
// ●起動法
//  (1)Javaファイル(sv151a.java)をコンパイルし、classファイル(sv151a.class)を
//       作成する。
//       ただし、Javaファイル(sv151a.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv151a.java
//     classファイル(sv151.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv151a.class
//       に保存する。
//    (2)入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv151a)
//       を指定する。
//
////////////////////////////////////////////////////////////////////////////////

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

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

    // クッキーの作成。
    Cookie c1 = new Cookie("KOMOKU1","value1");
    response.addCookie(c1); // 有効期間は、Webクライアントが接続している間。
    Cookie c2 = new Cookie("KOMOKU2","value2");
    c2.setMaxAge( 60*60 ); // 有効期間は1時間。

    // クッキーの追加。
    response.addCookie(c2);

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

    // HTML文書を送信。
    PrintWriter pw = response.getWriter();
    pw.println("<html>"                                    
             + "<head><title>サーブレット</title></head>"  
             + "<body>"                                    
             + "クッキーの作成と送信を行いました<br>"
             + "</body>"
             + "</html>"); 
    pw.flush();
    pw.close(); 
  }
}
入力フォーム
<form action=http://localhost:8080/SV/servlet/sv151a method=POST>
  <input type=submit value=実行>
</form>
実行結果

実行後