利用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 代码
-
- <?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>
-
-
- <listener>
- <listener-class>
- SessionCount.SessionCounter
- </listener-class>
- </listener>
-
- </web-app>
然后重新启动你的应用服务器,访问online.jsp检查是否显示正确。