使用tomcat 7、servlet 3.0、spring mvc3和spring social,我让我的班级听课;
public class AClass implements ApplicationContextAware, HttpSessionListener{
...
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
if (applicationContext instanceof WebApplicationContext) {
((WebApplicationContext) applicationContext).getServletContext().addListener(this);
}
public void sessionCreated(HttpSessionEvent se) {
System.out.println("session created");
}
public void sessionDestroyed(HttpSessionEvent se){
System.out.println("session destroyed");
}
...
}
我在 web.xml 中将会话超时设置为 1 分钟(我确信它工作正常)当我打开一个页面时,我收到“会话已创建”消息,但我从未收到“会话已被破坏”。如果我在 1 分钟后刷新页面,我会再次收到“会话已创建”消息,该消息声称该会话即将过期。
所以问题是我做错了什么?sessionDestroyed 方法不应该在会话过期时通知我吗?