井底之蛙 发表于 2013-2-6 09:56:55

利用HttpSessionListener统计在线人数

关键字: 利用HttpSessionListener统计在线人数
利用HttpSessionListener统计在线人数

JSP显示在线人数代码


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


java 代码
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
文件内容如下:


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检查是否显示正确。
页: [1]
查看完整版本: 利用HttpSessionListener统计在线人数