У нас есть приложение GWT, которое развернуто на Tomcat. На сервере, мы установили тайм-аут 1 минутуjava/GWT веб-приложение: как получить обратный вызов по тайм-ауту сеанса
httpSession.setMaxInactiveInterval(1*60)
На стороне клиента, мы установили несколько печенья с таймаутом 1 минуты, а также. Через 1 минуту мы замечаем, что файлы cookie на стороне клиента удалены; Однако JSESSIONID, установленный контейнером сервлетов (jetty/tomcat), все еще присутствует в клиенте.
В течение таймаут сеанса наш пользователь хочет, чтобы мы запустили диалоговое окно предупреждения/сообщения, чтобы предупредить его о том, что сеанс завершен, и пользователь должен снова войти на сервер. Похоже, нам нужен обратный вызов на стороне клиента в тайм-ауте - есть ли API, который мы можем вызывать для установки обратного вызова в тайм-аут сеанса?
На данный момент, если пользователь попадает на сервер с истекшим сеансом, мы сообщаем ему, что сессия истекло; Однако Клиент хочет, чтобы мы предотвращали «потерянные изменения», предупреждая пользователя о том, что сеанс тайм-аута (без потери времени на редактирование каких-либо данных на стороне клиента, а затем отправки на выяснение того, что сеанс имеет время ожидания - потерянные изменения !)
Каковы другие способы решения этой проблемы?
Спасибо,
Я только начинаю с GWT, и этот вопрос меня немного смущает. Вы используете сеанс для хранения информации о пользователе?Не хотите ли вы сделать его без гражданства и передать информацию о пользователе по каждому запросу? Разве не одна из сил GWT, что вы не ограничены идеей «сессии», когда тайм-аут не имеет смысла? – Kieveli