Springboot通过HttpSessionListener监听器统计在线人数的实现代码
首先说下,这个统计在线人数有个缺陷,一个人在线可以同时拥有多个session,导致统计有一定的不准确行。

创新互联公司是一家专注于网站设计制作、成都网站设计与策划设计,中山网站建设哪家好?创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:中山等地区。中山做网站价格咨询:18982081108
接下来,开始代码的编写,
第一步:实现HttpSessionListener中的方法,加上注解@WebListener
@WebListener
public class SessionListener implements HttpSessionListener{
public void sessionCreated(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
ServletContext context = arg0.getSession().getServletContext();
if (context.getAttribute("count")==null) {
context.setAttribute("count", 0);
}else {
int count = (Integer) context.getAttribute("count");
context.setAttribute("count", count+1);
}
}
public void sessionDestroyed(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
ServletContext context = arg0.getSession().getServletContext();
if (context.getAttribute("count")==null) {
context.setAttribute("count", 0);
}else {
int count = (Integer) context.getAttribute("count");
if (count<1) {
count = 1;
}
context.setAttribute("count", count-1);
}
HttpSession session = arg0.getSession();
String name = (String) session.getAttribute("name");
HashSet nameSet = (HashSet) context.getAttribute("nameSet");
nameSet.remove(name);
}
} 第二步:控制创建session放入对象
HttpSession session = request.getSession();
session.setAttribute("name", name);
Object count = context.getAttribute("count");
if (count==null) {
count = 0;
} 第三步:启动类加上注解@ServletComponentScan,这样才能扫描到监听器
说明,此代码适用于spring-boot开发
简单说下,javaWeb中配置监听器在web.xml中加上
zjq.listener.SessionListener
总结
以上所述是小编给大家介绍的Spring boot通过HttpSessionListener监听器统计在线人数的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!
文章名称:Springboot通过HttpSessionListener监听器统计在线人数的实现代码
分享地址:http://www.jxjierui.cn/article/ieodcp.html


咨询
建站咨询
