Сеансы в сервлетах ведутся где? - PullRequest
4 голосов
/ 01 февраля 2012

В сервлетах мы можем использовать функцию отслеживания сеансов.Поэтому я просто хочу попросить, чтобы сеансы поддерживались на стороне клиента или на стороне сервера.

Если это на стороне клиента, то где?
Могу ли я создать сеанс на HTTPSession на стороне клиента?

Iнашел одну статью, в которой говорится, что сеансы на стороне клиента и на стороне сервера можно поддерживать.

Ответы [ 2 ]

4 голосов
/ 01 февраля 2012

Это сервер, который будет поддерживать сеансы. Ответственность за отслеживание сеанса лежит на сервере. Клиенты не должны беспокоиться об отправке какой-либо информации явно. Поскольку клиент может отправлять файлы cookie, сохраненные на клиенте, вместе с каждым запросом, сервер может использовать файлы cookie для отслеживания сеанса.

Примечание: Cookies - это только один из способов реализации отслеживания сеансов. Это также лучший способ

Таким образом, сервер использует файлы cookie в качестве одного из способов отслеживания сеансов.

Это также можно сделать другими способами:

Перезапись URL - приложение / сервер должно добавить идентификатор сеанса во все URL / ссылки. Когда они вызываются из клиента, сеанс приходит на сервер вместе с URL.

Скрытые поля формы - Формы могут содержать скрытый тип ввода с идентификатором сеанса в качестве значения поля. Когда форма публикуется, идентификатор сеанса приходит вместе с данными формы.

3 голосов
/ 01 февраля 2012

Сеанс находится на стороне сервера, на стороне клиента у нас есть cookie (или jsessionId или скрытые поля формы) для сопоставления request с сеансом сервера


Как это отображается

Когда вы отправляете запрос в первый раз (с начала времени), сервер отправляет вам cookie-файл с ответом, который отправляет ваш браузер, и принимает, что cookie-файл содержит дату истечения срока действия, контент (некоторая строка) и имя домена теперь, когда вы снова отправляете запрос на сервер, ваш браузер добавит этот cookie для этого домена в заголовок, поэтому, когда сервер получает запрос, он видит cookie из заголовка и отображает этот контент с помощью sessionId на сервере


FYI

Вы также можете иметь сеанс в других приложениях (например, в одноранговом приложении)

...