效果图如下
这里是Chrome浏览器新登录一个用户
代码展示
package com.test.Util;
import java.util.ArrayList;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import com.test.model.User;
@WebListener
public class Count implements HttpSessionListener{
private int num=0;
@Override
public void sessionCreated(HttpSessionEvent se) {
// TODO 自动生成的方法存根
num++;
se.getSession().getServletContext().setAttribute("num", num);
}
@SuppressWarnings("unchecked")
@Override
public void sessionDestroyed(HttpSessionEvent se) {
// TODO 自动生成的方法存根
num--;
se.getSession().getServletContext().setAttribute("num", num);
//判断是否为同一用户
ArrayList<User> list=null;
list=(ArrayList<User>)se.getSession().getServletContext().getAttribute("list");
if(CountUtil.getByUsername(list, se.getSession().getId())!=null) {
list.remove(CountUtil.getByUsername(list, se.getSession().getId()));
}
}
}
package com.test.Util;
import java.util.ArrayList;
import com.test.model.User;
public class CountUtil {
public static Object getByUsername(ArrayList<User> list,String username) {
for(int i=0;i<list.size();i++) {
User user=list.get(i);
if(user.getUsername().equals(username)) {
return user;
}
}
return null;
}
}