用于监听session销毁
当session销毁时改变数据库内用户登录状态
/**
* session监听器
*/
public class SessionListener implements HttpSessionListener{
private UserLoginService service;
public SessionListener(){
String[] conf = {"conf/spring-mybatis.xml","conf/spring-mvc.xml"};
ApplicationContext ac = new ClassPathXmlApplicationContext(conf);
service = ac.getBean("userLoginService",UserLoginService.class);
}
public void sessionCreated(HttpSessionEvent hse) {
}
/**
* 监听session销毁,并记录用户登录状况
*/
public void sessionDestroyed(HttpSessionEvent hse) {
HttpSession session = hse.getSession();
User user = (User) session.getAttribute("User");
if(user!=null){
user.setLast_login_time(user.getLogin_time());
user.setLast_login_ip(user.getLogin_ip());
user.setIsOnline("N");
service.recordedLogin(user);
}
}
}
<!-- session失效时间 -->
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<!-- session监听器web.xml文件配置 -->
<listener>
<listener-class>
com.jlzc.scangun.util.SessionListener
</listener-class>
</listener>