日期:2014-05-20 浏览次数:20764 次
public void valueUnbound(HttpSessionBindingEvent event) { //这里可以do那些人数减一的事. } public void valueBound(HttpSessionBindingEvent event) { //这里可以do那些人数加一的事. }
------解决方案--------------------
和上楼意见差不多 不过好像不说用的那两个方式 不知道他那个方法是干嘛的 和你的问题无关,
是创建SESSION 的时候+1 一般不配置是2小时就销毁了 销毁的时候-1
------解决方案--------------------
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionListener implements HttpSessionListener {
// 在线人数计数器
public static int sessionCount = 0;
//用键值存在线用户 键为SessionId 值为 整个会话
public static Map users = new HashMap();
public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
users.put(session.getId(), session);
sessionCount++;
}
public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
users.remove(session.getId());
sessionCount--;
}
}