1 Что такое печенье
Браузер и веб -сервер общаются с помощью протокола HTTP. Когда пользователь выдает запрос страницы, веб -сервер просто отвечает, а затем закрывает соединение с пользователем. Поэтому, когда запрос отправляется на веб -сервер, независимо от того, является ли это первым посещением, сервер будет относиться к нему как в первый раз. Это плохая вещь, которую можно представить. Чтобы восполнить этот недостаток, Netscape разработал файл cookie, эффективный инструмент для сохранения идентификационной информации определенного пользователя, поэтому люди назвали его «сладкими файлами cookie». Cookies - это средство, с помощью которого веб -серверы хранят информацию о жестком диске посетителей через браузер: Netscape Navigator использует локальный файл с именем cookies.txt для сохранения информации cookie, полученной на всех сайтах; В то время как IE Browser сохраняет информацию о файле cookie в каталоге, аналогичном C:/Windows/Cookie. Когда пользователь снова посещает сайт, сервер попросит браузер найти и вернуть ранее отправленную информацию о файле cookie для идентификации пользователя.
2 четыре атрибута печенья
Max-Age указывает время жизни Ccookie (в секундах)! По умолчанию значение cookie существует только во время сеанса браузера, и эти значения исчезают, когда пользователь выходит из браузера!
Путь указывает веб -страницу, связанную с файлом cookie. По умолчанию, cookie связан с веб -страницей, которая создает его, а также веб -страницу в том же каталоге, что и веб -страница и подкаталос в каталоге.
Например, настройка домена домена доступа: Сервер, расположенный на order.example.com, должен прочитать файлы cookie, установленную Catalog.example.com. Здесь вам нужно представить атрибут домена. Предполагая, что файл cookie, созданный страницей, расположенной по адресу catalog.example.com, устанавливает атрибут своего пути «/» и атрибут домена для «.example.com», затем все веб -страницы, расположенные на «Catalog.example.com» и все веб -страницы, расположенные на «orders.example.com» и все веб -страницы, расположенные на «orders.example.com», и все другие Servers, расположенные на примере. Если доменное значение cookie не установлено, значение по умолчанию этого атрибута является именем хоста сервера, на котором создается веб -страница, где создается файл cookie. Примечание. Домен cookie не может быть установлен в домен вне домена, где находится сервер.
Seure указывает, как значение cookie -файла передается в сети
3 Java Cookie Operation
Создайте cookie
// новый объект cookie, пара клавиш-это параметр cookie cookie = new cookie ("key", "значение cookie"); Если ценность печенья содержит китайский язык, необходимо кодировать печенье, в противном случае произойдет искаженная кода. Используйте urlencoder.encode («Значение cookie», «UTF-8»); // Установить максимальное время выживания печенья, в считанные секунды, если отрицательное число-процесс браузера, закрытие печенья браузера исчезает cookie.setMaxage (*24*60*60); // один день // Добавить файл cookie в ответ, чтобы он вступил в силу. // после Addcookie, если печенье с тем же именем уже существует, последнее перезаписывает старое печеньеПРИМЕЧАНИЕ. В Struts вы можете использовать ServletactuctionContext.getResponse (), чтобы получить объект Respone
Читайте печенье
Чтение файлов cookie может получить все файлы cookie из запроса, а затем итерация в петле.
В Struts вы можете использовать servletactionContext.getRequest () для получения объекта запроса
// Получите файл cookie из запроса, и вы получите множество файлов cookie cookie [] cookie = request.getcookies (); // Тогда итерация if (cookies! = Null && cookies.length> 0) {// Если вы не установили cookie, он вернет Null для (cookie cookie: cookie) {...}} Удалить файлы cookie
Если вы удалите печенье, вам нужно только установить время жизни cookie на 0.
Cookie [] cookie = request.getcookies (); if (cookies! = null && cookies.length> 0) {for (cookie cookie: cookie) {string name = cookie.getname (); // Найти файл cookie, который необходимо удалить, если (name.compareto ("target-key") == 0) {// установить время жизни на 0 cookie.setMaxage (0); // возвращаемся к ответу. Addcookie (cookie); }}}Используется метод SetPath 4 Cookie:
Нормальные файлы cookie могут быть использованы только в одном приложении, то есть файл cookie можно получить только с помощью приложения, которое его создало.
1. Метод может быть использован на одном и том же сервере приложений: SET cookie.setPath ("/");
В нативном Tomcat/WebApp есть два приложения: webapp_a и webapp_b.
1) Оказывается, что cookie, установленные в соответствии с WebApp_A, не может быть получено в соответствии с WebApp_B. Путь - это путь приложения, который по умолчанию генерирует cookie.
2) Если вы установите cookie в соответствии с WebApp_A, добавьте cookie.setPath ("/"); или cookie.setpath ("/webapp_b/");
Вы можете установить файл cookie на CAS в соответствии с WebApp_B.
3) Параметры здесь относительно корневого каталога папки приложения, хранящейся сервером приложений (например, WebApp под Tomcat), так что cookie.setPath ("/"); После этого cookie можно поделиться во всех приложениях в папке WebApp, и cookie.setPath ("/webApp_b/");
Это означает, что файлы cookie, установленные приложением CAS, могут быть получены только в приложении WebApp_B, и даже приложение WebApp_A, которое генерирует этот файл cookie, не может быть использовано.
4) При настройке cookie.setPath ("/webApp_b/jsp") или cookie.setPath ("/webApp_b/jsp/"), cookie можно получить только в соответствии с WebApp_B/JSP, но файлы cookie не могут быть получены за пределами папки JSP.
5) установить cookie.setpath ("/webapp_b"); означает, что файлы cookie можно использовать только в соответствии с WebApp_B, чтобы файлы cookie не могли быть получены в соответствии с WebApp_A, который генерирует файлы cookie.
6) Когда есть несколько файлов cookie.setPath ("xxx"); Заявления, последний должен преобладать.
5 Cookie.setdomain Метод Дизайн перекрестного обмена доменом
Домен, где находится машина A: home.langchao.com, A имеет приложение webapp_a
Домен, где находится B -машина: jszx.com, b имеет приложение webapp_b
1) При настройке файлов cookie в соответствии с WebApp_A, добавьте cookie.setdomain (". Jszx.com"); чтобы вы могли получить файлы cookie в соответствии с WebApp_B.
2) При вводе URL для доступа к WebApp_B вы должны ввести доменное имя для разрешения. Например, при входе: http://lc-bsp.jszx.com:8080/webapp_b в машине a вы можете установить cookie на Webapp_a на клиенте, в то время как при входе: http: // localhost: 8080/webapp_b, вы не можете получить cookie.
3) cookie.setdomain (". Jszx.com"); Также можно поделиться по умолчанию home.langchao.com
Вышеупомянутое клише рассказывает об использовании файлов cookie в Java - это весь контент, которым я делюсь с вами. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.