首页 > 代码库 > Spring 监听session 失效方法

Spring 监听session 失效方法

public class SessionCounter implements HttpSessionListener {
 
 

 private static int activeSessions =0; 
 /* Session创建事件 */ 
 public void sessionCreated(HttpSessionEvent event) {

//创建session

  
 } 
 /* Session失效事件 */ 
 public void  sessionDestroyed(HttpSessionEvent se){ 
  //Spring注解无法注入Session监听器解决办法  
  ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(se.getSession().getServletContext());
  SystemlogService memberService = (SystemlogService) ctx.getBean("systemlogServiceImpl"); // 填写要注入的类,注意第一个字母小写
  User username=(User) se.getSession().getAttribute("user");
  if(username!=null){
   Systemlog systemlog = new Systemlog();
   String userName2 = username.getUserName();
   systemlog.setOperator(userName2);
     memberService.insertSelective(systemlog);
  }
   } 
 

}

web.xml中

  <listener>
  <listener-class>
  com.secure.listener.SessionCounter
  </listener-class>
 </listener>

 

Spring 监听session 失效方法