Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lection_servlets.doc
Скачиваний:
30
Добавлен:
23.02.2016
Размер:
356.35 Кб
Скачать

Атрибути cookie

Перед додаванням cookie в заголовки відповіді можна задати декілька характеристик cookie, використовуючи один з методів setXxx(), де Xxx – ім’я відповідного атрибута. Для зчитування атрибута використовується метод getXxx(). Крім імені та значення, всі решта атрибути cookie застосовуються тільки до вихідних cookie (які поступають від сервера до клієнта).

Методи доступу до атрибута

Опис атрибута

public String getComment()

public void setComment(String comment)

Коментар, пов’язаний з cookie

public String getDomain()

public void setDomain(String domainPattern)

Домен, до якого застосовується cookie

public int getMaxAge()

public void setMaxAge(int lifetime)

Визначає, скільки залишилось часу (в секундах) до кінця строку дії cookie. Від’ємне значення, встановлене по замовчуванню, означає, що cookie буде існувати тільки під час поточного сеансу і не зберігатиметься на диску.

public String getName()

public void setName(String cookieName)

Ім’я атрибута

public String getPath()

public void setPath(String path)

Шлях атрибута

public Boolean getSecure()

public void setSecure(Boolean secureFlag)

Вказує, чи можна надсилати cookie тільки по безпечним, шифрованим з’єднанням

public String getValue()

public void setValue(String cookieValue)

Значення, пов’язане з cookie

public int getVersion()

public void setVersion(int version)

Версія протоколу cookie

Для того, щоб надіслати cookie клієнту, необхідно створити об’єкт класу Cookie, потім викликати метод addCookie() класу HttpServletResponse, щоб надіслати заголовок HTTP-відповіді Set-Cookie, наприклад:

Cookie userCookie = new Cookie(“user”, “uid1234”);

userCookie.setMaxAge(60*60*24*365);

response.addCookie(userCookie);

Щоб прочитати cookies, отримані від клієнта, викликається метод getCookies() класу HttpServletRequest. Цей виклик повертає масив об’єктів класу Cookie. Звичайно цей масив проглядається, викликаючи метод getName() для кожного об’єкта Cookie, поки не знайдеться cookie з відповідним ім’ям. Потім викликається метод getValue() для знайденого cookie і завершується процес обробкою, специфічною для отриманого значення.

Відслідкування сеансу

Протокол HTTP є „протоколом без станів”: кожен раз, коли клієнт знаходить web-сторінку, він відкриває окреме з’єднання з Web-сервером. При цьому сервер автоматично не підтримує контекстну інформацію про клієнта. Для вирішення цієї проблеми сервлети надають інтерфейс API класу HttpSession. Він побудований на використанні cookies або перезапису URL, коли клієнт приєднує додаткові дані в кінець кожного URL, а сервер зв’язує цей ідентифікатор із даними про сеанс, які він зберіг.

Використання сеансів включає в себе перегляд об’єкту сеансу, пов’язаного з поточним запитом. При необхідності створюється новий об’єкт сеансу, який зберігає інформацію про сеанс, а також видаляє завершені сеанси або такі, до яких не було звернень протягом певного проміжку часу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]