Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Удаление сессии / 11 сообщений из 11, страница 1 из 1
07.03.2007, 13:31:21
    #34377362
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
Господа.
Подскажите плиз.
Аппликейшн использует myFaces.
Когда заходит юзер в приложение, в сессию (http) помещается обьект типа String name.
Когда он нажимает logout, этот обьект из сесии удаляется.
А что делать, если он просто закрыл браузер?
Обьект в сессии-то остался и такие будут накапливаться.
Как решать эту проблему
...
Рейтинг: 0 / 0
07.03.2007, 13:36:55
    #34377385
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
web.xml
...
<session-config>
<session-timeout>bla-bla-bla</session-timeout>
</session-config>
...
...
Рейтинг: 0 / 0
07.03.2007, 13:39:17
    #34377392
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
то есть если прописываю
Код: plaintext
1.
2.
3.
4.
<session-config>
<session-timeout> 10 </session-timeout>
</session-config>

то все бины, что имеют scope session в faces-config.xml будут удаляться из сессии через 10 секунд?
...
Рейтинг: 0 / 0
07.03.2007, 13:39:45
    #34377395
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
zalexakaweb.xml
...
<session-config>
<session-timeout>bla-bla-bla</session-timeout>
</session-config>
...
да ещё этим фсё убивать :)
...
Рейтинг: 0 / 0
07.03.2007, 13:56:09
    #34377458
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
Спасибо.
А как собственно использовать HttpSessionListener
Наверно можно както выводить сообщение юзеру.
А то получается, если сильно ограничить тайм-аут то ктото не усреет доделать работу.
Хотя конечно для этого можно просто включить счетчик в ине любом с момента создания обьекта в сессии и просто выдать сообщение перед этим.
...
Рейтинг: 0 / 0
07.03.2007, 13:57:26
    #34377462
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
osonА что делать, если он просто закрыл браузер?
Обьект в сессии-то остался и такие будут накапливаться.

- даже если клиент не закрывал окно браузера, а тупо пялился в него целый час, сессия погибнет вместе со всеми связанными данными, по истечении заданого таймаута
...
Рейтинг: 0 / 0
07.03.2007, 14:03:00
    #34377486
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
osonСпасибо.
А как собственно использовать HttpSessionListener
Наверно можно както выводить сообщение юзеру.
А то получается, если сильно ограничить тайм-аут то ктото не усреет доделать работу.
Хотя конечно для этого можно просто включить счетчик в ине любом с момента создания обьекта в сессии и просто выдать сообщение перед этим.
Мне кажется Вы плохо представляете себе работу сессий:
1. интервал жизни сессии отсчитывается от последнего обращения (запроса) клиента.
2. между запросами данные помещенные в сессию хранятся в сериализованом виде (обычно в виде файлов)
3. если запускать процесс отсчитывающий время при начале каждой сессии Вы сильно пригрузите сервер (возможно он свалится из за нехватки памяти под потоки)
...
Рейтинг: 0 / 0
07.03.2007, 14:04:46
    #34377493
max_from_sumy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
osonСпасибо.
А как собственно использовать HttpSessionListener
Наверно можно както выводить сообщение юзеру.
А то получается, если сильно ограничить тайм-аут то ктото не усреет доделать работу.
Хотя конечно для этого можно просто включить счетчик в ине любом с момента создания обьекта в сессии и просто выдать сообщение перед этим.

Через JavaScript можно на онлоад повесить событие с задержкой например за 2 мин до истечения срока действия сессии выводить алерт.

Можно через AJAX периодически запросы посылать, чтобы сессия не экспарилась.
...
Рейтинг: 0 / 0
07.03.2007, 15:43:24
    #34377850
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
спасибо
...
Рейтинг: 0 / 0
07.03.2007, 21:52:47
    #34378591
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
osonСпасибо.
А как собственно использовать HttpSessionListener
Наверно можно както выводить сообщение юзеру.
А то получается, если сильно ограничить тайм-аут то ктото не усреет доделать работу.
Хотя конечно для этого можно просто включить счетчик в ине любом с момента создания обьекта в сессии и просто выдать сообщение перед этим.
Не понял. А что будет, если кто-то просто выключить браузер или компьютер?
Я бы сделал так - обработчик события уничтожения сессии, который сохраняет состояние пользователя. Соотвественно, при входе данные восстанавливаются. Если есть желание сохранять данные, которые пользователь только вводит, можно на HTML-страничке поставить таймер, который будет периодически отсылать промежуточную информацию на сервер.
...
Рейтинг: 0 / 0
09.03.2007, 15:58:06
    #34380890
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление сессии
max_from_sumy
Через JavaScript можно на онлоад повесить событие с задержкой например за 2 мин до истечения срока действия сессии выводить алерт.

Можно через AJAX периодически запросы посылать, чтобы сессия не экспарилась.

Нужно 2 компонента в одном стакане.
1) Поставить timout на сессию (можно через web.xml, можно и ручками)
2) Создать некий keep_alive запрос. Можно на JavaScript, можно и через hidden frame, который сам себя обновляет так через 1 мин, например. Frame заюзать лучше, мне кажется (я всегда так делаю) потому что он будет в одном месте. А JavaScript нужно на кажную станицу присобачивать ...

З.Ы. AJAX - перебор, однако.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Удаление сессии / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]