!Java

http://www.xiaoyezi.com

原创 HttpSessionListener统计在线人数收藏

新一篇: javaBean操作数据库 | 旧一篇: 英语常用口头禅

/**
* 编写以下SessionCounter.java
* 并编译为SessiionCounter.class
* 然后放到你的网站的classpath的
* SessionCount(自己建立此目录)下面
*/

package SessionCount;
import javax.servlet.*;
import javax.servlet.http.*;

public class SessionCounter implements HttpSessionListener {

private static int activeSessions = 0;

public void sessionCreated(HttpSessionEvent se) {
activeSessions++;
}

public void sessionDestroyed(HttpSessionEvent se) {
if(activeSessions > 0)
activeSessions--;
}

public static int getActiveSessions() {
return activeSessions;
}
}

接着建立online.jsp文件用于显示在线人数
<%@ page import="SessionCount.SessionCounter" %>
在线:<%= SessionCounter.getActiveSessions() %>

然后需要在你的网站的WEB-INF中建立web.xml
文件内容如下:
<!-- Web.xml -->
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">

<web-app>

<!-- Listeners -->
<listener>
<listener-class>
SessionCount.SessionCounter
</listener-class>
</listener>

</web-app>

然后重新启动你的应用服务器,访问online.jsp检查是否显示正确。

发表于 @ 2004年08月31日 22:01:00|评论(loading...)|编辑

新一篇: javaBean操作数据库 | 旧一篇: 英语常用口头禅

评论

#zhanghuazhanghome 发表于2004-09-02 10:40:00  IP: 211.138.164.*
这个程序你测试过吗,这样肯定有问题的:就是不准了,
只在session创建和失效时判断是不行的
#ooxee 发表于2004-09-04 22:27:00  IP: 221.136.169.*
你要的Gmail邀请函已经发出了,你可以到你的邮箱里接受并注册
#nickey 发表于2004-09-19 11:35:00  IP: 61.149.254.*
算准吧, 跟据session的时间判断. 还有更好的方法?能准备统计?
#123123 发表于2004-10-27 14:43:00  IP: 218.94.3.*
在呢么写啊,哥们
#Test 发表于2004-11-09 10:07:00  IP: 218.82.91.*
test
#Shawn 发表于2004-11-09 10:08:00  IP: 218.82.91.*
我在JB下编译,怎么说:SessionCounter is public;must be declared in a file named SessionCounter.java,什么意思啊?
#jric 发表于2006-08-24 12:07:00  IP: 219.129.114.*
不可以啊!测试了一下.每打开一个IE窗口 计算就增加一
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © ganggang.wang