Подробное объяснение печенья на Java
Работа Java в файлах cookie относительно проста. В основном он вводит проблему создания файлов cookie и чтения файлов cookie, а также о том, как установить жизненный цикл печенья и путь печенья.
Создайте безжизненное печенье, то есть печенье, которое исчезает, когда браузер закрывается. Код выглядит следующим образом
Httpservlectrequest httpservletresponse responsecookie cookie = new cookie ("cookiename", "cookievalue"); response.addcookie (cookie);Создайте печенье в течение жизненного цикла, который может установить жизненный цикл
cookie = новое печенье ("cookiename", "cookievalue"); cookie.setmaxage (3600); // Установите путь, этот путь, то есть cookie можно получить в рамках проекта. Если путь не установлен, то можно получить доступ только к пути cookie и его подночности, установив путь cookie.setpath ("/"); response.addcookie (cookie);Следующее описывает, как читать файлы cookie. Код cookie выглядит следующим образом
Cookie [] cookie = request.getcookies (); // Таким образом, вы можете получить массив файлов cookie для (cookie cookie: cookie) {cookie.getname (); // Получить название cookie cookie.getvalue (); // Получить значение cookie}Вышеуказанное является основной работой чтения и написания файлов cookie. На самом деле лучше инкапсулировать, например, добавление печенья. Мы сосредоточены на названии, ценности и жизненном цикле печенья. Поэтому, конечно, инкапсулируя функцию, вам также необходимо пройти в объект ответа. Код addcookie () выглядит следующим образом
/** * Установить cookie * @param response * @param Название cookie Имя * @param value cookie value * @param maxage cookie жизненный цикл в секундах */public static void addcookie (httpservletresponse ответ, название строки, значение строки, int maxage) {cookie cookie = new cookie (имя, значение); cookie.setpath ("/"); if (maxage> 0) cookie.setmaxage (maxage); response.addcookie (cookie);}При чтении файлов cookie, чтобы облегчить наши операции, мы хотим инкапсулировать функцию. Пока мы предоставляем название cookie, мы можем получить ценность cookie. С этой идеей легко инкапсулировать печенье в карту, поэтому мы инкапсулируем следующее
/** * Получить cookie по имени * @param запрос * @param имя cookie name * @return */public statice cookie getcookiebyname (httpservletrequest, string name) {map <string, cookie> cookiemap = readcookiemap (запрос); if (cookiemap.containskey (name)) {cookie cookie = (cookie) cookiemap.get (name); вернуть cookie; } else {return null; }} /** * Инкапсулировать файлы cookie в карту * @param запрос * @return * /private Static Map <String, cookie> readcookiemap (httpservlectrequest) {map <string, cookie> cookiemap = new hashmap <string, cookie> (); Cookie [] cookie = request.getcookies (); if (null! = cookie) {for (cookie cookie: cookie) {cookiemap.put (cookie.getName (), cookie); }} return cookiemap;}Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!