クッキーの作成
1番目の引数に作成するクッキーのクッキー名を指定。
2番目の引数に保存したい情報を指定。
Cookie cookie = new Cookie("visited", "1");
クッキーをクライアントへ保存
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
:
Cookie cookie = new Cookie("visited", "1");
response.addCookie(cookie);
}
| URL |
http://localhost:8080/cookie/cookietest |
| アプリケーション配置場所 |
c:\servlet-sample\cookie\ |
| web.xmlファイル |
c:\servlet-sample\cookie\WEB-INF\web.xml |
| コンテキストファイル |
C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\Catalina\localhost\cookie.xml |
ブラウザのURL入力欄に「javascript:document.cookie;」を入力してEnter。
クッキーの取り出し
"getCookies"メソッドを使用。
「Cookie」クラスで用意されている"getName"メソッドを使用。
「Cookie」クラスで用意されている"getValue"メソッドを使用。
Cookie cookie[] = request.getCookies();
if (cookie != null){
for (int i = 0 ; i < cookie.length ; i++){
if (cookie[i].getName().equals("visited")){
String val = cookie[i].getValue();
}
}
}
値の再設定
「Cookie」クラスで用意されている"setValue"メソッドで既存のクッキーに別の値を設定する。
Cookie cookie[] = request.getCookies();
Cookie visitedCookie = null;
if (cookie != null){
for (int i = 0 ; i < cookie.length ; i++){
if (cookie[i].getName().equals("visited")){
visitedCookie = cookie[i];
}
}
if (visitedCookie != null){
int visited = Integer.parseInt(visitedCookie.getValue());
visitedCookie.setValue(Integer.toString(visited + 1));
response.addCookie(visitedCookie);
}
}
有効期限の設定
作成したクッキーはデフォルトで有効期限がブラウザが閉じるまでとなっている。
「Cookie」クラスで用意されている"setMaxAge"メソッドで有効期限を設定する。
有効期限は秒数で指定する。
例えば1時間に設定したい場合:
Cookie cookie = new Cookie("visited", "1");
cookie.setMaxAge(3600);
引数にマイナスの値を設定した場合、有効期限はブラウザが閉じるまでとなる。
引数に0を設定するとクッキーを破棄する。
最終更新:2009年02月26日 00:22