或者利用Servlet2.3新特性
Http Session Events
Lifecycle An HttpSession has just been created, or has been invalidated or timed out.
(javax.Servlet.http.HttpSessionListener)
当用户登陆时,产生一个session创建事件,把信息写到数据库里。
当用户退出或超时,产生一个无效或超时事件,把信息从数据库里删除。
你可以在页面上定义一个隐藏的iframe来定时刷新.
openDb.executeQuery("update onlineuser set logondate=sysdate where username='"+name+"'");
如果用户在线的话,把logondate记为当前时间
openDb.executeQuery("delete from onlineuser where (logondate+1/360)<sysdate");
如果用户最后在线时间与当前时间大于4分钟,说明用户已经离开,在onlineuser中删除此用户