Мне нужно избегать следующего условия. Я запускаю сервлет. Этот сеанс будет истек в браузере после моего периода ожидания (WEB.XML). Получив этот тайм-аут, мне нужно перезагрузить эту ссылку в браузере, чтобы активировать этот сервлет. Я не хочу снова загружать ссылку, это должно быть создание нового сеанса после тайм-аута.Я хотел создать новый сеанс, как только текущий сеанс сервлета истек.
ответ
Правильное решение будет охватывать тайм-аут (session-timeout
) в web.xml
.
Ваш клиент, приложение JS в браузере должен подключиться к серверу, чтобы сообщить, что он по-прежнему жив.
Тайм-аут - это период бездействия до того, как сеанс убит сервером. Если вы хотите сохранить сеанс живым - даже если нет активности - тогда вы можете продлить время бездействия.
В качестве альтернативы вы можете написать Javascript AJAX keepalive, который каждые 5 минут отправляет на сервер пульс. Вы можете написать простой выделенный сервлет, чтобы получить этот keepalive и отправить обратно простой ответ. Сердцебиение будет считаться активностью - и, таким образом, сохранить сеанс живым.
This post дает пример Javascript (вопрос связан с C#, но это не имеет значения).
- 1. Проверьте текущий сеанс истек в ASIHTTPREQUEST
- 2. Невозможно создать новый удаленный сеанс
- 3. Magento - сеанс истек. Попробуйте relogin
- 4. сеанс недействителен и создает новый сеанс
- 5. Невозможно получить текущий сеанс
- 6. Как найти, если сеанс Oracle APEX истек
- 7. как изменить сеанс истек Эльг 1.11
- 8. Instruct StructureMap создать новый сеанс (только при отчуждаемого)
- 9. Выход из системы AJAX, если сеанс истек
- 10. Регенерирующий сеанс/уничтожающий сеанс
- 11. новый PHPMailer() разрушает сеанс
- 12. WebDriverException: Сообщение: Создать новый сеанс не удалось.
- 13. Невозможно создать новый сеанс удаленного Chrome
- 14. Невозможно создать новый удаленный сеанс - Selenium WebDriver
- 15. Как создать сеанс?
- 16. Как создать сеанс express.js
- 17. Как создать сеанс (iPhone)?
- 18. сеанс устранения неполадок истек с использованием libcurl
- 19. Microsoft ReportViewer - сеанс ASP.NET Истек срок действия
- 20. Обнаруживать, если сеанс истек с использованием javascript
- 21. Будет ли истек ли сеанс IdleTimeout IIS?
- 22. Как инициализировать сеанс спящего режима изнутри сервлета?
- 23. Как получить сеанс сервлета в CXF Interceptor?
- 24. Как я реализовать cookielib создать сеанс
- 25. Как создать сеанс в Android?
- 26. Создать сеанс UUID Swift
- 27. Как увеличить счетчик, только если это новый сеанс?
- 28. Как долго будет продолжаться мой текущий сеанс?
- 29. Как открыть текущий сеанс Java Selenium?
- 30. Как создать сеанс весной Junit
вместо увеличения таймаута. Я хочу сделать автоматическое обновление по программе, снова позвонив dopost/doget. если мне нужно добавить dopost/doget, где мне нужно добавить? в какой части он должен снова позвонить (для создания нового сеанса) – Arunjoshi
Я думаю, что это невозможно. Ваш клиент (браузер) должен обрабатывать этот случай, без сервера. – MariuszS