HTML Diff
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