クッキーの処理

クッキーは、サーバー側のアプリケーションが個別のブラウザに情報を保存するために使用する一般的な手段です。ブラウザに保存されたクッキーはサーバー側アプリケーションで取得できます。クッキーを使用することによって、Web アプリケーションで各ブラウザで使用する変数を作成できます。そのような変数にユーザ名または最後にアクセスした日付を含めることができます。クッキーによるセッション記録を有効にした場合、JRun は jsessionid という名前のセッション トラッキング クッキーを作成します (JMC でクッキーの名前を指定することもできます)。

クッキーは、ステートレスである HTTP プロトコルを補完するパーシスタンス メカニズムを提供します。クッキーには一時的クッキーと永久的クッキーがあります。

クッキーは現在、市販のほとんどのブラウザでサポートされていますが、サポートの内容がブラウザによって異なります。また、クライアントはブラウザの設定によってクッキーのサポートを無効にすることもできます。

クッキーを確立するには

  1. クッキーで保存する値を確立します。
    Date dt = new Date();
    String todayString = dt.toString();
    
  2. 新しい Cookie オブジェクトを作成します。
    // クッキー インスタンスを作成します。
    // この例では、現在の日付と時刻を保存します。
    Cookie lastVisit = new Cookie("lastVisit", todayString);
    
  3. クッキー オブジェクトをサーブレットの応答オブジェクトに関連付けることによってクッキーをブラウザに返します。
    resp.addCookie(lastVisit);
    

クッキーにアクセスするには

  1. クッキーにアクセスするには、HttpServletRequest オブジェクトの getCookies メソッドを使用します。
    Cookie[] myCookies = req.getCookies();
    
  2. Cookie オブジェクトの getName および getValue メソッドを使用してクッキーおよびその値にアクセスします。この例では、クッキーの名前およびそれに関連付けられている値を表示します。
    for(int i=0; i<myCookies.length; i++) {
      out.println("Cookie name:" + myCookies[i].getName());
      out.println(" Value:" + myCookies[i].getValue() + "<br>");
    }