【Java】Cookieを作成・削除する方法

java

Webアプリを作成するうえではかかすことのできないCookieの操作について今回は紹介していきます。

JavaのWebアプリでCookieを作成・削除する方法をメモに残しておきます。

[スポンサーリンク]

このページでやること

Cookieを作成・削除する方法を紹介します。

Cookieを作成する方法

// id という名前のCookieを作成します。
Cookie cookie = new Cookie("id", "1000");
// Cookieの有効期限は30分
cookie.setMaxAge(60 * 30);
cookie.setPath("/");
cookie.setSecure(false);
// responseは引数で、HttpServletResponseを指定して受け取るようにして下さい。
response.addCookie(cookie);

こちらのプログラムを実行すると、このようにidという名前のCookieができます。
cookie-create-delete

Cookieを削除する方法

// requestは引数で、HttpServletRequestを指定して受け取るようにして下さい。
Cookie cookies[] =request.getCookies();
for (Cookie cookie : cookies ) {
	// id という名前のCookieを削除します。
	if ("id".equals(cookie.getName())) {
		cookie.setMaxAge(0);
		cookie.setPath("/");
		response.addCookie(cookie);
	}
}

localhostでCookieが削除できない場合

localhostで上記のプログラムを実行すると、Cookieのドメインに「Localhost」がセットされると思います。
しかしCookieを削除するときにcookie.setDomain("localhost");と指定すると削除できないことがあります。
この辺はブラウザによって違うみたいです。

どうしてもcookie.setDomainをしないといけない場合は、 cookie.setDomainに "" or NULL を指定してみてください。
こちら参考にしたサイト

さいごに

Cookieの作成・削除はいつかブログに書こうと思っていたのですが、ネットに結構記事がでていたのでのばしのばしになっていました。

最近localhostでCookieを削除でつまずいたので、これを機にブログへアップしようと思いやっとアップできました。

Cookieは結構基本的なことだけどミスると重大なバグを生んでしまいます。気をつけましょう。

それでは!