实现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>
本文介绍了一个简单的Servlet监听器实现,用于统计在线用户数量。通过实现HttpSessionListener接口,该监听器能在用户会话创建和销毁时更新计数,并将当前在线用户数存储在应用范围的属性中,以便在JSP页面上展示。
1002

被折叠的 条评论
为什么被折叠?



