统计用户在线列表
2008-08-03 13:44
295 查看
现在正在做一个用户在线列表(已登陆),想用HttpSessionListener接口实现。
但发现好像HttpSessionListener只能统计在线人数。
不知有什么方法能实现? 就像聊天室里的那个在线列表一样的。
谢谢!!
---------------------------------------------------------------
package SessionCounter;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import com.oztime.right.UserObject;
public class SessionCounter implements HttpSessionListener {
private static int activeSessions = 0;
private static Vector v= new Vector();
public void sessionCreated(HttpSessionEvent se) {
}
public static void createsession(HttpSessionEvent se ) {
UserObject user1 =(UserObject)se.getSession().getAttribute("UserObject");
if(v.contains(user1)==false){
v.add(user1);
activeSessions++;
System.out.println("===================用户名称=================="+user1.getName());
System.out.println("===================用户数量=================="+activeSessions);
}
}
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
UserObject user2=(UserObject)se.getSession().getAttribute("UserObject");
if(v.contains(user2)==true){
v.remove(user2);
activeSessions--;
System.out.println("===================removed=================="+user2.getName());
}
}
public static void Destroysession(UserObject user) {
//System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
//UserObject user3=(UserObject)se.getSession().getAttribute("UserObject");
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+user.getName());
if(v.contains(user)==true){
v.removeElement(user);
activeSessions--;
System.out.println("====================================="+user.getName()+"---退出登录!!!");
}
}
public static int getActiveSessions() {
return activeSessions;
}
public static Vector getVector() {
return v;
}
}
===========================================================
在用户登陆后调用的
SessionCounter.createsession(new HttpSessionEvent(session));
SessionCounter.Destroysession(user); //注user 为用户实体
但发现好像HttpSessionListener只能统计在线人数。
不知有什么方法能实现? 就像聊天室里的那个在线列表一样的。
谢谢!!
---------------------------------------------------------------
package SessionCounter;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import com.oztime.right.UserObject;
public class SessionCounter implements HttpSessionListener {
private static int activeSessions = 0;
private static Vector v= new Vector();
public void sessionCreated(HttpSessionEvent se) {
}
public static void createsession(HttpSessionEvent se ) {
UserObject user1 =(UserObject)se.getSession().getAttribute("UserObject");
if(v.contains(user1)==false){
v.add(user1);
activeSessions++;
System.out.println("===================用户名称=================="+user1.getName());
System.out.println("===================用户数量=================="+activeSessions);
}
}
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
UserObject user2=(UserObject)se.getSession().getAttribute("UserObject");
if(v.contains(user2)==true){
v.remove(user2);
activeSessions--;
System.out.println("===================removed=================="+user2.getName());
}
}
public static void Destroysession(UserObject user) {
//System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
//UserObject user3=(UserObject)se.getSession().getAttribute("UserObject");
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+user.getName());
if(v.contains(user)==true){
v.removeElement(user);
activeSessions--;
System.out.println("====================================="+user.getName()+"---退出登录!!!");
}
}
public static int getActiveSessions() {
return activeSessions;
}
public static Vector getVector() {
return v;
}
}
===========================================================
在用户登陆后调用的
SessionCounter.createsession(new HttpSessionEvent(session));
SessionCounter.Destroysession(user); //注user 为用户实体
相关文章推荐
- 统计在线用户列表 for .net WebForm
- 一个web应用程序统计在线用户列表的东东(带c#源码)
- asp.net 在线用户列表统计
- asp 实现同一帐号,防止多人同时登录、获取在线列表、实现登录日志(可用户统计在线时长),适合用户访问量大的系统
- xmlhttp ASP.NET在线用户列表 关闭浏览器 精确统计 单人登陆
- 一个比较精确的“在线用户列表”统计功能
- asp 实现同一帐号,防止多人同时登录、获取在线列表、实现登录日志(可用户统计在线时长),适合用户访问量大的系统
- xmlhttp ASP.NET在线用户列表 关闭浏览器 精确统计 单人登陆
- 一个web应用程序统计在线用户列表的东东
- 一个比较精确的“在线用户列表”统计功能
- 一个比较精确的“在线用户列表”统计功能
- Asp.Net在线统计用户列表
- 统计在线用户列表 for .net WebForm
- 统计在线用户列表 for .net WebForm
- 一个比较精确的“在线用户列表”统计功能
- 统计在线用户列表 for .net WebForm
- [总结]关于在线用户列表的统计![转载]
- 一个比较精确的“在线用户列表”统计功能
- [总结]关于在线用户列表的统计!
- 使用Application和SessionID实现在线用户列表统计