实现HttpSessionListener接口
package org.fool.simpleservlet.listener;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
@WebListener
public class OnlineUserListener implements HttpSessionListener {
private static int userCount = 0;
public void sessionCreated(HttpSessionEvent event) {
userCount++;
event.getSession().getServletContext()
.setAttribute("userCount", userCount);
}
public void sessionDestroyed(HttpSessionEvent event) {
userCount--;
event.getSession().getServletContext()
.setAttribute("userCount", userCount);
}
}
在jsp页面中显示监听的在线统计人数结果,使用el表达式
Online User Count : ${applicationScope.userCount}
为了便于测试,在web.xml设置session的超时时间为1min
<session-config> <session-timeout>1</session-timeout> </session-config>