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