управление сеансом - сессия не уничтожается автоматически в jsp - PullRequest
0 голосов
/ 15 сентября 2010

в моем приложении я поддерживаю сеанс, используя

HttpSessionListener

public void sessionCreated(HttpSessionEvent se)
public void sessionDestroyed(HttpSessionEvent se)

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

ОС: Linux применение: Jboss

Как мне сохранить сеанс

1 Ответ

5 голосов
/ 15 сентября 2010

Вы должны понимать, что сеанс поддерживается на сервере . Поэтому, когда браузер закрыт, сервер не информируется - и, следовательно, он продолжает поддерживать сеанс на сервере в течение определенного периода времени. (т.е. независимо от интервала времени ожидания сеанса, настроенного в web.xml, который по умолчанию составляет 30 минут). Поэтому, когда клиент больше не посещает приложение более 30 минут, сеанс будет уничтожен на сервере.

Если один пользователь внезапно закрыл просмотр, сеанс браузера должен быть уничтожен, но не разрушает автоматически.

Как это влияет на ваше приложение?

Если пользователь откроет новый браузер и вернется на ваш сайт, он начнет новый сеанс на сервере, а не старый. Если вы не можете объяснить конкретную необходимость аннулировать сеансы, когда браузер закрыт, это подойдет для вашего приложения. Вы делаете какую-то определенную логику в sessionDestroyed ()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...