编写一个在线人数统计的程序!请求帮助~~~~~~~~~~

youlixisi 2007-11-07 05:23:37
利用HttpSessionBindingListener接口,编写一个在线人数统计的程序。
(1)当一个用户登录后,显示欢迎信息,同时显示出当前在线的总人数和用户名单。
(2)当一个用户退出登录或者Session超时值发生时,从在线用户名单中删除这个用户,同时将在线的总人数减一
...全文
146 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang_dream 2007-11-08
  • 打赏
  • 举报
回复
设置一个全局静态变量,用户登陆时自动加1,用户离开时自动减1,把登陆的用户添加到集合类中,退出的时候从集合类中删除
grubbyfan 2007-11-07
  • 打赏
  • 举报
回复
如果你只是要完成一个作业的话,完全可以用一楼朋友的方法!在你的Servlet里面定义一个static的Map
我说的是实际应用。
grubbyfan 2007-11-07
  • 打赏
  • 举报
回复
题目中已经说的很清楚了啊,用HttpSessionBindingListener接口!
1. 建立一张简单的在线用户表,一旦有用户登录,就在表中插入一条记录(或者在你的用户表中加一个status字段,来标识是否登录)
2. 在web.xml中设置Session的过期时间
3. 实现HttpSessionBindingListener接口,在unBound方法中删除(或修改)表中的数据
这样就可以了
youlixisi 2007-11-07
  • 打赏
  • 举报
回复
1
楼说的很对的!我们老师也这样说,

用不上数据库吧!!

<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="online" method="post">
<table>
<tr>
<td>请输入用户名:</td>
<td><input type="text" name="user"></td>
</tr>
<tr>
<td>请输入密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><input type="reset" value="重填"></td>
<td><input type="submit" value="登录"></td>
</tr>
</table>
</form>
</body>
</html>

可以帮我写出servlet代码吗?

我初学者很迷茫。
dr_lou 2007-11-07
  • 打赏
  • 举报
回复
数据库在线表
DirectRay 2007-11-07
  • 打赏
  • 举报
回复
在session里面放一个变量就可以了。一个static的变量来存储在线人数。至于用户名单,很简单的,你直接在用户登陆的时候把验证过允许登陆的用户名放到一个ArrayList或者HashMap里面不就好了。

还有一种办法,声明一个static的HashMap,一登陆就把验证过的用户名丢进去,最后总人数就是这个HashMap的size。

退出的时候以及你设定的session超时的时候,可以在这个会话的destory方法里面写点东西,让他说点遗言,也就是在HashMap里面把这个人给去掉。

81,092

社区成员

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

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