1.开启监听器:
在web.xml中配置:
<listener>
<listener-class>com.zsq.listener.SessionManagerListener</listener-class>
</listener>
2.监听页面
public class SessionManagerListener implements HttpSessionListener {
public static Map map = new HashMap();
public static List<String> list = new ArrayList();
/*
* 每产生一个session就会执行一次这个方法
*/
//创建Session
public void sessionCreated(HttpSessionEvent sessionEvent) {
//获取SESSION
HttpSession session = sessionEvent.getSession();
//记录SESSION
map.put(session.getId(), session);
System.out.println(map);
list.add(session.getId());
System.out.println("创建Session");
}
/*
* 每销毁一个session就会执行一次这个方法
*/
//销毁session
public void sessionDestroyed(HttpSessionEvent sessionEvent) {
//获取SESSION
HttpSession session = sessionEvent.getSession();
//除去已销毁的SESSION
map.remove(session.getId());
list.remove(session.getId());
System.out.println("销毁Session");
}
3.控制层页面
@RequestMapping("/getSessionList")
@ResponseBody
@SysLog(module = "登录模块" ,method="获取session列表")
public String getSessionList(@RequestParam Map map,HttpSession session) throws Exception {
if (session.getAttribute("login").equals("login")) {
if (SessionManagerListener.list.size() > 0) {
return "0";
} else {
return "success";
}
}
return "ERROR";
}