请问如何实现jsp的在线人数统计 http://www.javaresearch.org/article/showarticle.jsp?column=106&thread=406 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package net.htjs.onlineusers;import java.util.*;import javax.servlet.*; import javax.servlet.http.*; public class OnLineUsers implements HttpSessionListener { private static Hashtable hmUserList = new Hashtable(); private static boolean active = false; public synchronized int getUserCount() { return hmUserList.size(); } public synchronized void addUser(String sessionID,String userName) { //System.out.println("addUser"); hmUserList.put(sessionID,userName); } public synchronized boolean existUser(String userName) { //System.out.println("existUser"); Set set = hmUserList.keySet(); Iterator iterator = set.iterator(); while(iterator.hasNext()) { String user = (String)hmUserList.get(iterator.next()); if(userName.equals(user)) { return true; } } return false; } public synchronized void deleteUser(String sessionID) { //System.out.println("deleteUser:"+sessionID); hmUserList.remove(sessionID); } public synchronized Iterator getOnLineUser() { Set set = hmUserList.keySet(); return set.iterator(); } public void sessionCreated(HttpSessionEvent se) { active = true; } public void sessionDestroyed(HttpSessionEvent se) { deleteUser(se.getSession().getId()); active = false; } public static boolean getActiveSession() { return active; } } web.xml中加入 <listener> <listener-class>net.htjs.onlineusers.OnLineUsers</listener-class> </listener> http://www.javaresearch.org/article/showarticle.jsp?column=106&thread=406 电厂火车煤采购调度系统 session过期,重新登录后返回之前浏览的页面? 怎么通过复选框选择多行,并且提示所选的行数? 无法显示 如何实现这个列表? comeBox一个也不选,它的返回值是什么??(急。。。) 关于Tapestry的验证异常.高手请解决 解决了,马上给...关于数组的问题...(恼我3天的问题啊!) 怎么判断一个int 型变量为空 JBuilder X的Tomcat是否支持自定义标识库? 极其简单的问题 如何在jsp中获得该程序所运行的操作系统是windows还是unix,急!!!在线等待!!!
import javax.servlet.*;
import javax.servlet.http.*; public class OnLineUsers implements HttpSessionListener
{ private static Hashtable hmUserList = new Hashtable();
private static boolean active = false; public synchronized int getUserCount()
{
return hmUserList.size();
}
public synchronized void addUser(String sessionID,String userName)
{
//System.out.println("addUser");
hmUserList.put(sessionID,userName);
}
public synchronized boolean existUser(String userName)
{
//System.out.println("existUser");
Set set = hmUserList.keySet();
Iterator iterator = set.iterator();
while(iterator.hasNext())
{
String user = (String)hmUserList.get(iterator.next());
if(userName.equals(user))
{
return true;
}
}
return false;
} public synchronized void deleteUser(String sessionID)
{
//System.out.println("deleteUser:"+sessionID);
hmUserList.remove(sessionID);
} public synchronized Iterator getOnLineUser()
{
Set set = hmUserList.keySet();
return set.iterator();
}
public void sessionCreated(HttpSessionEvent se)
{
active = true;
} public void sessionDestroyed(HttpSessionEvent se)
{
deleteUser(se.getSession().getId());
active = false;
} public static boolean getActiveSession()
{
return active;
}
} web.xml中加入
<listener>
<listener-class>net.htjs.onlineusers.OnLineUsers</listener-class>
</listener>