3к6с Современные технологии интернет-программирования / JSP - управление сеансом
.pdf
Информация HTTP-протокола
Можно извлекать информацию из
заголовков HTTP-протокола, такую как например IP-адреса. Но на сегодняшней
день считается не эффективной из-за
широкого распространения прокси-
серверов.
11
Скрытые поля HTML-форм
Используются тэг языка html для
встраивания информации в каждую страницу:
<input type=“hidden” name =“key1” value=“value1”>
Основной недостаток: все хранимые
значения видны пользователю
12
Расширенная информация о пути и перезаписывание URL
Добавляет информацию о клиенте в конец
каждой ссылки на странице. Затем эти значения считывается как параметры.
Ссылка
<a href = “mypage.jsp”> NEXT </a>
может быть перезаписана следующим
образом:
<a href = “mypage.jsp?firstname=Ivan&lastname=Ivan ov”> NEXT </a>
13
Расширенная информация о пути и перезаписывание URL
Данный подход имеет ограничения:
Передаваемая информация видна пользователю
Имеется физическое ограничение в байтах на длину передаваемой строки, зависящее
от браузера и веб-сервера (обычно 2 Кб).
14
Закладки (Cookie)
Закладки (cookie) – небольшие фрагменты
информации, которые размещаются на стороне клиента.
Во время отправки ресурсов от сервера
клиенту, сервер может также послать информацию (закладку), относящуюся к
клиенту (логин, пароль, дата последнего
посещения, последняя посещенная
страница сайта и т.д.).
15
Закладки (Cookie)
Cookie cook = new Cookie("name", "value"); cook.setMaxAge( 30*24*60*60); response.addCookie(cook);
Cookie [] cookarr = request.getCookies(); for( Cookie c: cookarr) {
out.println( c.getName() +" = "+ c.getValue());
}
Основной недостаток: пользователь имеет
возможность отключить использование cookie на своем браузере.
16
Объекты сеанса
session.setAttribute("name", "value"); Object obj = session.getAttribute("name");
java.util.Enumeration e = session.getAttributeNames();
while (e.hasMoreElements())
{
String s = (String) (e.nextElement()); out.println (s + " = " + session.getAttribute(s));
}
17
