まず第一に、Cookie とは何かを理解しましょう:
Cookie は実際にはハードドライブに保存されているデータですが、これらのデータは非常に特殊であり、Web アプリケーションによって保存するためにブラウザーにのみ送信できます。また、ブラウザーのデータを読み取ることもできます。 Cookie
Web アプリケーションは通常、一部のユーザー情報などの少量の一時データのみを Cookie に保存します。一般的なブラウザでは、各 Web アプリケーションにデータを 40 個提供します。各 Cookie のサイズは 4K を超えません (一部のブラウザの Cookie は大量のデータを保存できると聞きましたが、データ抽出の効率が高くなくパフォーマンスに影響するため、通常はそのような大量のデータを保存しません)
くだらない話をした後、ようやく重要なポイントが来ます
Java は、httpServletRequest インターフェースを介してブラウザーリクエスト内の Cookie データにアクセスします (ここで、まず Cookie の詳細を理解しましょう。コードは後で説明します)
各 Cookieキー、値の 2 つの属性があります (特定の形式文字列がないため、データを DIY で保存できますが、URL エンコードの問題に注意してください。エンコードの問題については、後でコードで説明します)
新しい Cookie を保存する必要がある場合、新しい Cookie インスタンスを作成し、httpservletRsponse 経由でブラウザに送信し、ローカルに保存できます
以下は Cookie の一般的なクラスです
/* * 该类可以从浏览器请求中提取出cookies并进行对cookis的相关操作 * */ public class CookiesUtil extends BaseController { /** * 根据名字获取cookie * * @param request * @param name * cookie名字 * @return */ public static Cookie getCookieByName(HttpServletRequest request, String name) { Map<String, Cookie> cookieMap = ReadCookieMap(request); if (cookieMap.containsKey(name)) { Cookie cookie = (Cookie) cookieMap.get(name); return cookie; } else { return null; } } /** * 将cookie封装到Map里面 * * @param request * @return */ private static Map<String, Cookie> ReadCookieMap(HttpServletRequest request) { Map<String, Cookie> cookieMap = new HashMap<String, Cookie>(); Cookie[] cookies = request.getCookies(); if (null != cookies) { for (Cookie cookie : cookies) { cookieMap.put(cookie.getName(), cookie); } } return cookieMap; } /** * 保存Cookies * * @param response * servlet请求 * @param value * 保存值 * @author jxf */ public static HttpServletResponse setCookie(HttpServletResponse response, String name, String value,int time) { // new一个Cookie对象,键值对为参数 Cookie cookie = new Cookie(name, value); // tomcat下多应用共享 cookie.setPath("/"); // 如果cookie的值中含有中文时,需要对cookie进行编码,不然会产生乱码 try { URLEncoder.encode(value, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } cookie.setMaxAge(time); // 将Cookie添加到Response中,使之生效 response.addCookie(cookie); // addCookie后,如果已经存在相同名字的cookie,则最新的覆盖旧的cookie return response; }
上記の一般的なクラスを使用して、新しい Cookie を読み取って作成できます。もう 1 つ言及したいことがあります: 新しい Cookie を作成する方法 名前がブラウザーにすでに存在する場合、その名前は再度追加されず、前の Cookie が上書きされます。ブラウザーは要求された Cookie と返された Cookie をどのように表示しますか? Google Chrome を例に挙げます
その後、Cookie を削除する必要がある場合があります/** * <p>删除无效cookie</p> * <p>无效?1.过时 2.未发布</p> * @param request * @param response * @param list */ private void delectCookieByName(HttpServletRequest request, HttpServletResponse response,String deleteKey) throws NullPointerException {12 Map<String, Cookie> cookieMap = ReadCookieMap(request);17 for (String key : cookieMap.keySet()) { if(key==deleteKey && key.equals(deleteKey)) { Cookie cookie = cookieMap.get(key);21 cookie.setMaxAge(0);//设置cookie有效时间为0 cookie.setPath("/");//不设置存储路径 response.addCookie(cookie); } } }

Cookie を削除するには、時間パラメータとパスパラメータの両方が必要であることに注意してください。そうでないと、ブラウザによっては削除できません
上記は Java の読み取りです。ブラウザの Cookie を取得および書き込むためのデータを提供し、今後も関連情報を追加していきます。このサイトをご支援いただきありがとうございます。
Java がブラウザー Cookie を読み書きする方法の詳細な例については、PHP 中国語 Web サイトの関連記事に注目してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
