JavaサーブレットでCookieを削除するにはどうすればいいですか?質問する

JavaサーブレットでCookieを削除するにはどうすればいいですか?質問する

Java サーブレットで Cookie を削除するにはどうすればよいですか?

私はこれを試しました:http://www.jguru.com/faq/view.jsp?EID=42225

編集: 以下は、次の組み合わせで正常に動作するようです:

response.setContentType("text/html");

そして

cookie.setMaxAge(0);

以前は次のことをやっていました:

//remove single signon cookie if it hasn't been validated yet
response.setContentType("text/html");
Cookie cookie = new Cookie(SSORealm.SSO_COOKIE_NAME, "");
cookie.setDomain(SSORealm.SSO_DOMAIN);
cookie.setMaxAge(-1);
cookie.setPath("/");
cookie.setComment("EXPIRING COOKIE at " + System.currentTimeMillis());
response.addCookie(cookie);

ブラウザが閉じられるとクッキーは期限切れになります。ドキュメント

負の値は、Cookie が永続的に保存されず、Web ブラウザの終了時に削除されることを意味します。値がゼロの場合、Cookie は削除されます。

クッキーを期限切れにする完全なスニペットは次のとおりです。

//remove single signon cookie if it hasn't been validated yet
response.setContentType("text/html");
Cookie cookie = new Cookie(SSORealm.SSO_COOKIE_NAME, "");
cookie.setDomain(SSORealm.SSO_DOMAIN);
cookie.setMaxAge(0);
cookie.setPath("/");
cookie.setComment("EXPIRING COOKIE at " + System.currentTimeMillis());
response.addCookie(cookie);

ベストアンサー1

MaxAge が -1 の場合、セッションの期間中は Cookie が保持されることを意味します。代わりに、MaxAge を 0 に設定する必要があります。

からAPIドキュメント:

負の値は、Cookie が永続的に保存されず、Web ブラウザの終了時に削除されることを意味します。値がゼロの場合、Cookie は削除されます。

おすすめ記事