jsp如何统计在线人数

newbeauty1 2004-12-30 09:27:52
代码
谢谢
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
toyysky 2005-03-02
  • 打赏
  • 举报
回复
关注
creaker 2005-03-02
  • 打赏
  • 举报
回复
不懂,up
uestc6055 2005-03-02
  • 打赏
  • 举报
回复
public class UserInfo implements HttpSessionBindingListener {
// 用户信息
int userId;
String userName;
......

/**
* 当UserInfo类被绑定到session中时触发这个事件
* 具体信息请参见Servlet/JSPs的规范
*/
public void valueBound(HttpSessionBindingEvent event) {
HttpSession session = event.getSession ();
ServletContext ctx = session.getServletContext ();
Map map = (Map)ctx.getAttribute ("users");
if (map == null) { // 如果是服务器启动后的第一个登录用户,新建一个容器
map = new HashMap ();
ctx.setAttribute ("users", map);
}

map.put (userName, this); // 把自己加入容器中
}

/**
* 当UserInfo类从session中删除时触发这个事件
* 具体信息请参见Servlet/JSPs的规范
*/
public void valueUnbound(HttpSessionBindingEvent event) {
HttpSession session = event.getSession ();
ServletContext ctx = session.getServletContext ();
Map map = (Map)ctx.getAttribute ("users");
map.remove (this.userName); // 把自己从容器中删除
}

......
}

以后在JSP中就可以这样显示在线用户数了:
<%
int userCount = 0;
java.util.Map map = (java.util.Map)application.getAttribute ("users");
if (map == 0) userCount = 0;
else userCount = map.size ();
%>
虎叔 2004-12-30
  • 打赏
  • 举报
回复
用监听器监听session。

new session +1
close session -1
就可以了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧