Весенняя сессия истекла MVC - PullRequest
1 голос
/ 27 октября 2011

Как я могу обработать сеанс, истекший весной MVC, и как лучше всего его обработать? где я могу указать время ожидания сеанса? Было бы здорово, если бы вы могли показать мне пример.

Ответы [ 2 ]

0 голосов
/ 31 октября 2011

Одним из вариантов является использование механизма событий в ApplicationContext , после чего вы должны зарегистрировать HttpSessionListener в файле web.xml, который, когда тайм-ауты сеанса запускают событие в корневом WebApplicationContext для всех компонентов, наблюдающих это событие. Получите корневой WebApplicationContext, используя WebApplicationContextUtils.

0 голосов
/ 27 октября 2011

Для тайм-аута сеансов я использую «простой» API сервлетов.

Пользовательский javax.servlet.http.HttpSessionListener, определенный в web.xml и в методе sessionCreated при тайм-ауте сеанса с использованием setMaxInactiveInterval (в [с]).

Я знаю, что это «старая школа», но она проста и работает для меня.

Если вы хотите получить значение тайм-аута из весны, есть доступ к ServletContext из сеанса.

ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(session.getServletContext());
applicationContext.getBean("...");   
...