在线人数统计程序1
转载作者:孙鑫 来源:程序员之家 www.phome.asia
下面,我们利用HttpSessionBindingListener接口,编写一个在线人数统计的程序。当一个用户登录后,显示欢迎信息,同时显示出当前在线的总人数和用户名单。当一个用户退出登录或者Session超时值发生时,从在线用户名单中删除这个用户,同时将在线的总人数减1。这个功能的完成,主要是利用一个实现了HttpSessionBindingListener接口的对象,当这个对象被绑定到Session中或者从Session中被删除时,更新当前在线的用户名单。实例的开发主要有以下步骤。
Step1:配置Web应用程序的运行目录
在%CATALINA_HOME%\conf\Catalina\localhost\目录下新建ch15.xml文件,输入如例15-4所示的内容。
例5-4 ch15.xml
<Context docBase="F:\JSPLesson\ch15" reloadable="true"/>
Step2:编写login.html
将编写好的login.html文件放到F:\JSPLesson\ch15\online目录下。完整的代码如例15-5所示。
例15-5 login.html
<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>
Step3:编写UserList.java,User.java,OnlineUserServlet.java和LogoutServlet.java
为了和本章其他例子中的类相区别,本例中的类定义在org.sunxin .ch15.online包中。编写UserList.java,User.java,OnlineUserServlet.java和LogoutServlet.java源文件,将编写好的源文件放到F:\JSPLesson\ch15\src\online目录下。
UserList.java的完整代码如例15-6所示。
例15-6 UserList.java
1.package org.sunxin .ch15.online;
2.
3.import java.util.Vector;
4.import java.util.Enumeration;
5.
6.public class UserList
7.{
8. private static final UserList userList=new UserList();
9. private Vector<String> v;
10.
11. private UserList()
12. {
13. v=new Vector<String>();
14. }
15.
16. public static UserList getInstance()
17. {
18. return userList;
19. }
20.
21. public void addUser(String name)
22. {
23. if(name!=null)
24. v.addElement(name);
25. }
26.
27. public void removeUser(String name)
28. {
29. if(name!=null)
30. v.remove(name);
31. }
32.
33. public Enumeration<String> getUserList()
34. {
35. return v.elements();
36. }
37.
38. public int getUserCount()
39. {
40. return v.size();
41. }
42.}
上一篇:Servlet的线程模型
下一篇:我的友情链接
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python爬虫代码爬取在线excel数据实战1
python代码实现爬取在线excel文件内容
excel 爬虫 requests pandas 保存 -
统计在线人数
如何运用内置对象session和application对象实现统计在线人数 首先创建一个全局应用程序类Global.asax protected void Application_Start(object sender, EventArgs e) { &
div session object application null -
统计用户在线人数
统计用户在线人数
servlet java 前端 监听器 链表 -
JAVA 系统在线人数统计方案 jwt统计在线人数
文章目录一、使用JWT做用户实时在线数判断的原理1.1、什么是JWT1.2、使用JWT做用户在线数统计的原理二、具体的代码实现 最近再做一个小程序项目,在这个项目中需要有一个管理员用户在线数实时刷新的功能,一开始用的是网上广为流传的做法,即创建一个session监听器,在用户登录时即创建一个session,监听器记录下来并且把count加一,当用户点击注销时把session给remove掉,co
JAVA 系统在线人数统计方案 springboot jwt jwt记录用户在线数 jwt代替session做用户在线数 jwt统计在线数