利用HttpSessionListener统计在线人数

利用HttpSessionListener统计在线人数

JSP显示在线人数代码 


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

java 代码
    1. package SessionCount;     
    2. import javax.servlet.*;     
    3. import javax.servlet.http.*;     
    4.   
    5. public class SessionCounter implements HttpSessionListener {     
    6.   
    7. private static int activeSessions = 0;     
    8.   
    9. public void sessionCreated(HttpSessionEvent se) {     
    10. activeSessions++;     
    11. }     
    12.   
    13. public void sessionDestroyed(HttpSessionEvent se) {     
    14. if(activeSessions > 0)     
    15. activeSessions--;     
    16. }     
    17.   
    18. public static int getActiveSessions() {     
    19. return activeSessions;     
    20. }     
    21. }     


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

然后需要在你的网站的WEB-INF中建立web.xml 
文件内容如下: 

xml 代码
  1. <!-- Web.xml -->     
  2. <?xml version="1.0" encoding="ISO-8859-1"?>     
  3. <!DOCTYPE web-app     
  4. PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"     
  5. "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">     
  6.   
  7. <web-app>     
  8.   
  9. <!-- Listeners -->     
  10. <listener>     
  11. <listener-class>     
  12. SessionCount.SessionCounter     
  13. </listener-class>     
  14. </listener>     
  15.   
  16. </web-app>     


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

你可能感兴趣的:(Web,jsp,xml,servlet,sun)