0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p><strong>Сессия</strong>- это абстракция, созданная для удобной работы с индивидуальными пользователями. Она используется для идентификации пользователей и позволяет отличать их друг от друга. Например, аутентификация на сайтах построена поверх механизма сессии. В этом уроке мы обсудим сессии в контексте Java.</p>
1
<p><strong>Сессия</strong>- это абстракция, созданная для удобной работы с индивидуальными пользователями. Она используется для идентификации пользователей и позволяет отличать их друг от друга. Например, аутентификация на сайтах построена поверх механизма сессии. В этом уроке мы обсудим сессии в контексте Java.</p>
2
<h2>Как работают сессии</h2>
2
<h2>Как работают сессии</h2>
3
<p>Сессия использует куки для своей работы. Для каждого пользователя создается своя кука со специальным идентификатором, который сложно подобрать. Это происходит во время первого обращения к сессии. Больше кука никак не используется, все данные записываются в память рабочего приложения:</p>
3
<p>Сессия использует куки для своей работы. Для каждого пользователя создается своя кука со специальным идентификатором, который сложно подобрать. Это происходит во время первого обращения к сессии. Больше кука никак не используется, все данные записываются в память рабочего приложения:</p>
4
<p>Принцип работы с данными сессии очень похож на то, как идет работа с куками. Мы можем добавить данные в сессию и прочитать их:</p>
4
<p>Принцип работы с данными сессии очень похож на то, как идет работа с куками. Мы можем добавить данные в сессию и прочитать их:</p>
5
<p>Добавленные данные хранятся в сессии до тех пор, пока не произойдет одно из следующих событий:</p>
5
<p>Добавленные данные хранятся в сессии до тех пор, пока не произойдет одно из следующих событий:</p>
6
<ul><li>Кука будет удалена</li>
6
<ul><li>Кука будет удалена</li>
7
<li>Закончится время жизни куки</li>
7
<li>Закончится время жизни куки</li>
8
<li>Данные сессии будут удалены на бэкенде</li>
8
<li>Данные сессии будут удалены на бэкенде</li>
9
</ul><p>Данные внутри сессии хранятся в текстовом виде, поэтому их придется преобразовывать в строки:</p>
9
</ul><p>Данные внутри сессии хранятся в текстовом виде, поэтому их придется преобразовывать в строки:</p>
10
<h2>Как использовать сессии</h2>
10
<h2>Как использовать сессии</h2>
11
<p>Реализуем упрощенный пример аутентификации на сайте. Для этого создадим SessionsController с тремя маршрутами:</p>
11
<p>Реализуем упрощенный пример аутентификации на сайте. Для этого создадим SessionsController с тремя маршрутами:</p>
12
<p>Контроллер:</p>
12
<p>Контроллер:</p>
13
<p>Шаблон:</p>
13
<p>Шаблон:</p>
14
<p>Во время логина мы записываем идентификатор пользователя в сессию. Когда нужно, мы читаем этот идентификатор, извлекаем необходимые данные о пользователе и используем их. Когда мы познакомимся с базами данных, то реализуем полноценный пример.</p>
14
<p>Во время логина мы записываем идентификатор пользователя в сессию. Когда нужно, мы читаем этот идентификатор, извлекаем необходимые данные о пользователе и используем их. Когда мы познакомимся с базами данных, то реализуем полноценный пример.</p>
15
<p>Ниже вы видите код вывода блока на главной странице для залогиненных пользователей:</p>
15
<p>Ниже вы видите код вывода блока на главной странице для залогиненных пользователей:</p>
16
16