标签:enc pac void ida val getattr lis 在线 date
package com.qing.listener;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
* 统计网站在线人数:统计session
*/
public class OnlineCountListener implements HttpSessionListener {
// 创建session监听:一旦创建session就会触发一次这个监听
public void sessionCreated(HttpSessionEvent se) {
System.out.println("sessionId: " + se.getSession().getId());
ServletContext sc = se.getSession().getServletContext();
Integer onlineCount = (Integer) sc.getAttribute("onlineCount");
if (onlineCount == null) {
onlineCount = 1;
} else {
onlineCount += 1;
}
sc.setAttribute("onlineCount",onlineCount);
}
// 销毁session监听:一旦销毁session就会触发一次这个监听
public void sessionDestroyed(HttpSessionEvent se) {
ServletContext sc = se.getSession().getServletContext();
Integer onlineCount = (Integer) sc.getAttribute("onlineCount");
if (onlineCount == null) {
onlineCount = 0;
} else {
onlineCount -= 1;
}
sc.setAttribute("onlineCount",onlineCount);
}
/*
session销毁的两种方式:
1. 手动销毁:session.invalidate();
2. 自动销毁:在web.xml中设置session自动过期
<!--设置session的默认失效时间-->
<session-config>
<!--15分钟后session自动失效,以分钟为单位-->
<session-timeout>15</session-timeout>
</session-config>
*/
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--配置监听器-->
<listener>
<listener-class>com.qing.listener.OnlineCountListener</listener-class>
</listener>
<!--设置session的默认失效时间-->
<session-config>
<!--15分钟后session自动失效,以分钟为单位-->
<session-timeout>1</session-timeout>
</session-config>
</web-app>
标签:enc pac void ida val getattr lis 在线 date
原文地址:https://www.cnblogs.com/wl3pb/p/14646807.html