会话在Spring MVC中过期

时间:2011-10-27 08:53:03

标签: java session spring-mvc session-timeout

如何处理spring MVC中过期的会话以及处理它的最佳位置?我在哪里可以指定会话超时?如果你能通过一些例子告诉我,那将是很棒的。

2 个答案:

答案 0 :(得分:0)

对于会话超时,我使用'普通'Servlet API。

使用javax.servlet.http.HttpSessionListener(在[s]中)在会话设置超时时在web.xml和方法sessionCreated中定义的自定义setMaxInactiveInterval

我知道这是'老派',但很简单,对我有用。

如果要从spring获取超时值,可以从会话中访问ServletContext。

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

答案 1 :(得分:0)

一个选项是使用event mechanism in ApplicationContext,然后在web.xml中注册一个HttpSessionListener,当会话超时将根WebApplicationContext中的事件触发到观察该事件的所有bean时。使用WebApplicationContextUtils获取根WebApplicationContext。