- Home ›
- サーブレット/JSP入門 ›
- クッキーの利用 ›
- HERE
クッキーの作成
ではまずクッキーの使い方から確認していきましょう。
クッキーはクライアント側にデータを保存するためのものです。例えば一度ホームページを閲覧したクライアントに対して訪問回数などをクッキーとして保存してもらいます。次に同じクライアントからホームページにアクセスがあった時、クッキーがクライアント側に存在すれば自動的にクッキーがあることをサーバに対して送信してくれますので、クッキーの有無を確認して保存されている内容を調べることで何回目の訪問なのかを調べることができます。
クッキーの利用手順としては、クライアントからアクセスがあった時にクッキーが既にあるかどうかを調べ、もしあればクッキー内に保存されている情報を取得します。もしクッキーが無いようなら新規にクッキーを作成してクライアントに保存することになります。
よってまずクッキーを新規に作成してみましょう。
まず下記のクラス図を見てください。
- java.lang.Object
- javax.servlet.http.Cookie
- public class Cookie extends java.lang.Object implements java.lang.Cloneable
コンストラクタ1つだけ用意されています。
Cookie public Cookie(java.lang.String name, java.lang.String value)
Constructs a cookie with a specified name and value. The name must conform to RFC 2109. That means it can contain only ASCII alphanumeric characters and cannot contain commas, semicolons, or white space or begin with a $ character. The cookie's name cannot be changed after creation. The value can be anything the server chooses to send. Its value is probably of interest only to the server. The cookie's value can be changed after creation with the setValue method. By default, cookies are created according to the Netscape cookie specification. The version can be changed with the setVersion method. Parameters: name - a String specifying the name of the cookie value - a String specifying the value of the cookie Throws: java.lang.IllegalArgumentException - if the cookie name contains illegal characters (for example, a comma, space, or semicolon) or it is one of the tokens reserved for use by the cookie protocol
1番目の引数には作成するクッキーのクッキー名を指定します。クッキー名にはASCIIか英数字しか使えません。また2番目の引数には保存したい情報を指定します。
例えば、訪問回数を記録する為に「visited」という名前のクッキーを作成し、訪問回数を保存する場合には下記のようになります。
Cookie cookie = new Cookie("visited", "1");
これでクッキーが作成されました。次のページでクッキーをクライアント側に保存してみましょう。
( Written by Tatsuo Ikura )