Java: Веб-технологии
Теория: Сессия
Сессия – это абстракция, созданная для удобной работы с индивидуальными пользователями. Она используется для идентификации пользователей и позволяет отличать их друг от друга. Например, аутентификация на сайтах построена поверх механизма сессии. В этом уроке мы обсудим сессии в контексте Java.
Как работают сессии
Сессия использует куки для своей работы. Для каждого пользователя создается своя кука со специальным идентификатором, который сложно подобрать. Это происходит во время первого обращения к сессии. Больше кука никак не используется, все данные записываются в память рабочего приложения:
Принцип работы с данными сессии очень похож на то, как идет работа с куками. Мы можем добавить данные в сессию и прочитать их:
Добавленные данные хранятся в сессии до тех пор, пока не произойдет одно из следующих событий:
- Кука будет удалена
- Закончится время жизни куки
- Данные сессии будут удалены на бэкенде
Данные внутри сессии хранятся в текстовом виде, поэтому их придется преобразовывать в строки:
Как использовать сессии
Реализуем упрощенный пример аутентификации на сайте. Для этого создадим SessionsController с тремя маршрутами:
Контроллер:
Шаблон:
Во время логина мы записываем идентификатор пользователя в сессию. Когда нужно, мы читаем этот идентификатор, извлекаем необходимые данные о пользователе и используем их. Когда мы познакомимся с базами данных, то реализуем полноценный пример.
Ниже вы видите код вывода блока на главной странице для залогиненных пользователей:
Рекомендуемые программы
Завершено
0 / 23



