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サイトに注目してください。