求HttpSessionBindingListener的具体使用代码,最好有关于Session超时就失效的,不过没有也没得关系哈,哈哈哈哈
解决方案 »
- JSP如何页面下载文件
- flex4+blazeds+spring+hibernate集成错误
- 反射机制调用的方法如何配置spring事务?
- OpenSessionInViewInterceptor配置方法?
- xdoclet 关于生成hibernate配置的简单问题
- Action中执行javascript?
- java如何处理soap header用户身份验证 消息。非常感激!!
- 寻求在JBuilder中配置Hibernate方法,在其他工具中的配置方法也可以
- 在Struts里如何不用Action调用struts-config.xml里的dataSource
- java 中如何定义常量,结构体
- session.save(Object obj)返回的是什么?
- 请教,关于map里的value排序问题.
import java.util.*;public class OnLineUser implements HttpSessionBindingListener ...{
public OnLineUser()...{
} private Vector users=new Vector();
public int getCount()...{
users.trimToSize();//调整Vector users的容量为Vector users的大小
return users.capacity();//返回users的容量
}
public boolean existUser(String userName)...{
users.trimToSize();
boolean existUser=false;
for (int i=0;i<users.capacity();i++ )
...{
if (userName.equals((String)users.get(i)))
...{
existUser=true;
break;
}
}
return existUser;
} public boolean deleteUser(String userName) ...{
users.trimToSize();
if(existUser(userName))...{
int currUserIndex=-1;
for(int i=0;i<users.capacity();i++)...{
if(userName.equals((String)users.get(i)))...{
currUserIndex=i;
break;
}
}
if (currUserIndex!=-1)...{
users.remove(currUserIndex);
users.trimToSize();
return true;
}
}
return false;
} public Vector getOnLineUser()
...{
return users;
}
public void valueBound(HttpSessionBindingEvent e) ...{
users.trimToSize();
System.out.println("请求:::::::::::"+e.getName());
if(!existUser(e.getName()))...{
users.add(e.getName());
System.out.print(e.getName()+" 登入到系统 "+(new Date()));
System.out.println(" 在线用户数为:"+getCount());
}else...{
System.out.println(e.getName()+"已经存在");
}
}
public void valueUnbound(HttpSessionBindingEvent e) ...{
users.trimToSize();
String userName=e.getName();
deleteUser(userName);
System.out.print(userName+" 退出系统 "+(new Date()));
System.out.println(" 在线用户数为:"+getCount());
}
}