ホームページ >Java >&#&チュートリアル >Java Cookieの操作例(Cookieの削除)

Java Cookieの操作例(Cookieの削除)

高洛峰
高洛峰オリジナル
2017-01-18 14:04:461585ブラウズ

1. Set Cookie

Cookie cookie = new Cookie("key", "value");
cookie.setMaxAge(60);

60秒の有効期間を設定します。負の値に設定すると、ブラウザを閉じると無効になるブラウザプロセスCookie(メモリに保存されます)になります。

cookie.setPath("/test/test2");

Cookie のパスを設定します。設定されていない場合は、現在のパスになります (サーブレットの場合は、request.getContextPath() + web.xml で構成されたサーブレットの URL パターン パス部分です)

response.addCookie(cookie);

2。 Cookie の読み取り

このメソッドは、現在のパスと「直接の親パス」のすべての Cookie オブジェクトを読み取ることができます。Cookie がない場合は、null

Cookie[] cookies = request.getCookies();

3 を返します。Cookie の削除

Cookie cookie = new Cookie("key", null);
cookie.setMaxAge(0);

Cookie を削除するには、0 を設定します。すぐに

cookie.setPath("/test/test2");

パス上の指定された Cookie を削除します。パスが設定されていない場合、デフォルトでは現在のパス Cookie

response.addCookie(cookie);

4 が削除されます。 注: パス構造は次のとおりであると仮定します。同じキー名 (値は同じでも異なっていてもよい) が異なるパスに存在することができます。

b. 削除する際、現在のパスの下にキー「key」を持つ Cookie が存在しない場合は、すべての親パスが照会され、取得後に削除操作が実行されます (自分に最も近い 1 つの親パス Cookie のみを削除できます)。 Cookie を削除するには、Cookie の設定に使用したのと同じパスを指定する必要があります。また、そのパスは、大文字、小文字、またはサイズの混合に関係なく、Cookie キー名に指定する必要があります。

IE。キー名が小文字の場合、現在のパスが /test/test2 で、見つからない場合は、/test、/test555、/test345 をクエリします。 (/test555/test666 はクエリされません)

キー名が大文字と小文字が混在している場合、または大文字が含まれている場合、パスが指定されていない場合、デフォルトで現在のパスが削除され、上向きのクエリは実行されません。

c. Cookie を読み取る場合、直接の親パスの Cookie のみを読み取ることができます。

現在のパスが/test/test2の場合、読み込むキーは「key」です。現在のパスが読み取られた後、/test も読み取られ、/test が読み取られた後、/

d も読み取られます。これは、Java Web プロジェクトを実行する場合、一般的な Web サーバー (Tomcat や Jetty など) は異なるコンテキストを使用して管理するためです。 WebApplications では、Context ごとに異なる Path が設定されます。サーバー内に複数の WebApplications がある場合は、誤動作が発生しやすいので、Path に Cookie を設定しないようにしてください。 (もちろん、ドメイン名が同じであることが前提です)

その他のJava Cookie操作例(Cookieの削除)や関連記事については、PHP中国語Webサイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。