Как я могу отключить указанный запрос на обновление тайм-аута сеанса в фреймворке spring/servlet/struts2?

#java #spring #http #tomcat #servlets

#Ява #весна #http #кот #сервлеты

Вопрос:

вот такой случай: я запускаю веб-приложение в tomcat, тайм-аут сеанса составляет 15 минут.

Таким образом, все запросы обновят время ожидания сеанса.

У меня есть запрос от интерфейса с путем «/не/обновить/sessiontimeout»

Я хочу, чтобы запрос «/не/обновить/sessiontimeout» не обновлял тайм-аут сеанса.

Как это реализовать?

Ответ №1:

Вы не можете, но вы можете изменить продолжительность сеанса, чтобы получить аналогичный эффект:

 final HttpServletRequest req = ...; final HttpSession session = req.getSession(); final long idleTimeMs = Instant.now().toEpochMilli() - session.getLastAccessedTime(); final int maxInactiveSec = session.getMaxInactiveInterval() - (int)(idleTimeMs / 1000); session.setMaxInactiveInterval(maxInactiveSec);  

Комментарии:

1. Спасибо, я тоже думаю о подобном решении и попробую.