用HttpSessionListener实现在线人数统计

1 编写一个计数器的类

package com.online;

public class OnlineCount

{
    private static long online = 0;   
    public static long getOnline() {
        return online;
    }   
    public static void upline(){
        online++;
    }
    public static void downline(){
        online--;
   }
}

2 再编写一个监听器的类

package com.online;

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class OnlineCountListener implements HttpSessionListener {
    public void sessionCreat(HttpSessionEvent hse) {
        OnlineCount.upline();
    }
    public void sessionDestroy(HttpSessionEvent hse) {
        OnlineCount.downline();
    }
}

3 在web.xml文件中注册一个监听器

<web-app>
    ……
    <listener>
        <listener-class>
            com.online.OnlineCountListener
        </listener-class>
    </listener>
    ……
</web-app>

4 现在只需要在页面文件中输出就可以了

<%@ page language="java" pageEncoding="GB2312" %>
<html>
    <head><title>On Line Counert</title></head>

     <jsp:useBean id="Online" class="com.online.OnlineCount"/>
    <body bgcolor="#FFFFFF">
        当前在线:<%=Online.getOnline()%>
    </body>
</html>

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