用SessionListener实现统计在线人数及访问量
2007-04-25 09:04
405 查看
web.xml中配置
<listener>
<listener-class>listener.SessionCounter</listener-class>
</listener>
java类,实现HttpSessionListener接口
package listener;
import java.util.*;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/** *//**
* activeSessions 当前在线用户数
* all 总访问量
* today 今日访问量
* day 今日日期
*/
public class SessionCounter implements HttpSessionListener...{
private static int activeSessions=0;
private static long today=0;
private static long all=0;
private static int day=0;
//session创建
public void sessionCreated(HttpSessionEvent arg0) ...{
if(activeSessions<0)...{
activeSessions=0;
}else...{
activeSessions++;
}
all++;
Date date=new Date();
int tday=date.getDate();
//如果日期发生变化则将today置为1,否则将today加1
if(tday!=day)...{
day=tday;
today=1;
}else...{
today++;
}
}
//减少在线人数
public void sessionDestroyed(HttpSessionEvent arg0) ...{
if(activeSessions>0)...{
activeSessions--;
}
}
public static int getOnlines()...{
return activeSessions;
}
public static long getAll()...{
return all;
}
public static long getToday()...{
return today;
}
}
当关闭浏览器窗口时,session不会被清除,只有等到过了session有效时间后(默认为30分钟)SessionListener才会执行sessionDestroyed方法。
<listener>
<listener-class>listener.SessionCounter</listener-class>
</listener>
java类,实现HttpSessionListener接口
package listener;
import java.util.*;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/** *//**
* activeSessions 当前在线用户数
* all 总访问量
* today 今日访问量
* day 今日日期
*/
public class SessionCounter implements HttpSessionListener...{
private static int activeSessions=0;
private static long today=0;
private static long all=0;
private static int day=0;
//session创建
public void sessionCreated(HttpSessionEvent arg0) ...{
if(activeSessions<0)...{
activeSessions=0;
}else...{
activeSessions++;
}
all++;
Date date=new Date();
int tday=date.getDate();
//如果日期发生变化则将today置为1,否则将today加1
if(tday!=day)...{
day=tday;
today=1;
}else...{
today++;
}
}
//减少在线人数
public void sessionDestroyed(HttpSessionEvent arg0) ...{
if(activeSessions>0)...{
activeSessions--;
}
}
public static int getOnlines()...{
return activeSessions;
}
public static long getAll()...{
return all;
}
public static long getToday()...{
return today;
}
}
当关闭浏览器窗口时,session不会被清除,只有等到过了session有效时间后(默认为30分钟)SessionListener才会执行sessionDestroyed方法。
相关文章推荐
- 用SessionListener实现统计在线人数及访问量
- JavaWeb中的Session、SessionListener、在线人数统计
- jsp简单实现统计在线人数
- javaweb中实现在线人数统计
- Servlet监听器的简单使用实现统计在线人数
- JavaWeb中的Session、SessionListener、在线人数统计
- 利用HttpSessionListener实现网站在线人数统计功能
- application session 实现简单的在线聊天人数的统计
- java使用监听器实现一个统计网站在线人数的示例
- Servlet监听器简介与实现在线人数统计
- 访问量和在线人数统计
- Servlet中实现用servletContext对象统计网站在线人数
- 利用HttpSessionListener实现网站在线人数统计功能
- 使用java 监听器实现在线人数统计
- 利用HttpSessionListener实现网站在线人数统计功能
- php 在线人数,今日访问量,总访问量统计
- javaweb中实现在线人数统计
- 利用HttpSessionListener实现网站在线人数统计功能
- [转]用HttpSessionListener与HttpSessionBindingListener实现在线人数统计
- HttpSessionListener实现统计在线人数