public class OnlineCounter { private static long online = 0; public static long getOnline(){ return online; } public static void raise(){ online++; } public static void reduce(){ online--; } } import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class OnlineCounterListener implements HttpSessionListener{ public void sessionCreated(HttpSessionEvent hse) { OnlineCounter.raise(); } public void sessionDestroyed(HttpSessionEvent hse){ OnlineCounter.reduce(); } } 记得配置web.xml
private static long online = 0;
public static long getOnline(){
return online;
}
public static void raise(){
online++;
}
public static void reduce(){
online--;
}
} import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class OnlineCounterListener implements HttpSessionListener{
public void sessionCreated(HttpSessionEvent hse) {
OnlineCounter.raise();
}
public void sessionDestroyed(HttpSessionEvent hse){
OnlineCounter.reduce();
}
}
记得配置web.xml
http://family168.com/tutorial/jsp/html/jsp-ch-08.html
http://blog.csdn.net/lgq_0714/archive/2009/06/15/4269947.aspx
import javax.servlet.http.HttpSessionListener;/**
* 计算网站在线人数的统计
* 1.当通过一个客户端浏览器访问本网站的时候
* 会有session对象自动创建,从而调用sessionCreated()方法,
* 2.当一个用户离开本网站的时候,其想对应的session对象就回自动的销毁
* (在实践应用中不能快速的放映出来)而调用sessionDestroyed()方法
*
*
* Servlet中的监听器必须实现相应的接口
* */
public class CounterListener implements HttpSessionListener {
private static long onLineNumber;
public static long getCounter(){
return onLineNumber;
}
public void sessionCreated(HttpSessionEvent arg0) {
onLineNumber++;
} public void sessionDestroyed(HttpSessionEvent arg0) {
onLineNumber--;
}}
在web.xml中配置<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<listener>
<listener-class>
com.lw.chapter14.CounterListener
</listener-class>
</listener>
</web-app>