当前位置: 技术问答>java相关
如何统计在线登录人数?
来源: 互联网 发布时间:2015-06-04
本文导语: 用jsp开发一个会员管理系统,如何统计在线登录人数?请给出思路?关键是如何判断用户已经注销、链接到其他网页、关闭浏览器...? | 哎,看看以前的帖子http://www.csdn.net/expert/topic/366/366150.xml?temp=...
用jsp开发一个会员管理系统,如何统计在线登录人数?请给出思路?关键是如何判断用户已经注销、链接到其他网页、关闭浏览器...?
|
哎,看看以前的帖子http://www.csdn.net/expert/topic/366/366150.xml?temp=.3149073
使用Servlet 2.3新增web application listener可以搞定写一个Listener类对session的创建和消除进行侦听。
import javax.servlet.*;
import javax.servlet.http.*;
public class CounterListener implements HttpSessionListener {
private int count = 0;
public synchronized void sessionCreated(HttpSessionEvent se) {
count++;
}
public synchronized void sessionDestroyed(HttpSessionEvent se) {
count--;
}
public int getCount() {
return count;
}
}
使用Servlet 2.3新增web application listener可以搞定写一个Listener类对session的创建和消除进行侦听。
import javax.servlet.*;
import javax.servlet.http.*;
public class CounterListener implements HttpSessionListener {
private int count = 0;
public synchronized void sessionCreated(HttpSessionEvent se) {
count++;
}
public synchronized void sessionDestroyed(HttpSessionEvent se) {
count--;
}
public int getCount() {
return count;
}
}
|
不可能准确知道。
客户端进行了注销操作的话你就可以知道,并释放session。但如果客户端转到了其它网站或直接被关掉了,没有任何消息会发到server端,server就只好等超时了。
你就统计server端的session数就成了,一般都这么做。
客户端进行了注销操作的话你就可以知道,并释放session。但如果客户端转到了其它网站或直接被关掉了,没有任何消息会发到server端,server就只好等超时了。
你就统计server端的session数就成了,一般都这么做。