HttpSessionListener统计在线人数 [转]

类别:Java 点击:0 评论:0 推荐:
 

/**
*   编写以下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检查是否显示正确。

本文地址:http://com.8s8s.com/it/it15763.htm