问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何实现java 用户在线实时统计

发布网友 发布时间:2022-04-25 09:02

我来回答

2个回答

热心网友 时间:2022-04-22 09:24

您好,这样:
通过SessionListenr可以监听session的创建和销毁,所以首先要写一个类MySessionListener,实现javax.servlet.http.HttpSessionListener接口及其sessionCreated()、sessionDestroyed()方法:

import java.util.HashSet;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class MySessionListener implements HttpSessionListener {

public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();

// 在application范围由一个HashSet集保存所有的session
HashSet sessions = (HashSet) application.getAttribute("sessions");
if (sessions == null) {
sessions = new HashSet();
application.setAttribute("sessions", sessions);
}

// 新创建的session均添加到HashSet集中
sessions.add(session);
// 可以在别处从application范围中取出sessions集合
// 然后使用sessions.size()获取当前活动的session数,即为“在线人数”
}

public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();
HashSet sessions = (HashSet) application.getAttribute("sessions");

// 销毁的session均从HashSet集中移除
sessions.remove(session);
}
}

然后再在web.xml中分别配置SessionListener和session超时时间(10分钟):
<listener>
<listener-class>全路径MySessionListener</listener-class>
</listener>
<session-config>
<session-timeout>10</session-timeout>
</session-config>
最后在Jsp页面代码使用以下代码就可以实现当前在线人数统计输出:

热心网友 时间:2022-04-22 10:42

web还是什么?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? java如何实现在线播放功能谢谢了,大神帮忙啊 JAVA在线开发是什么意思 手机可以收到消息却不可以发消息,怎么办? 冠军的冠多音字怎么组词百度文库 多音字冠组词 冠冠多音字组词 冠的注音和组词怎么写 冠,俯,喷,枚,箭,筒,束,赤,圈,置的组词和拼音? 冠多音字组词 冠的2种读音和组词 冠有几个读音,分别组词 冠的的多音字组词 冠怎么组多音字组词 冠的多音字注音并组词 冠字多音字组词 冠有几种读音,怎么组词 藏族电影有哪些 《冈仁波齐》 所谓的宗教信仰,真的有什么意义么 刚仁波齐电影 多少票房 冈仁波齐里面叔叔最后真死了吗 java怎么样实现在线音乐的播放? java 判断用户在线的思路 java在线解答 java在线等! java在线求助 急 java在线工具不支持引入包吗 因为更好遇见你是什么歌的歌词 什么方式是更好的遇见你解答? 歌词中有更好遇见你的歌名叫什么 有一首歌歌词里面 说我是为了更好遇见你? 只为了更好的遇见你 什么意思 有一首歌歌词里面 说我是为了更好遇见你 千牛平台客服把单子转给你后,他还能看到你和客户的聊天吗 有首歌的歌词叫因为更好遇见你那首歌叫什么名字 千牛里怎么一键提取客户信息 很幸运遇见你唯美短句有哪些? 千牛后台客户信息写商是卖家号吗 只为更好遇见你留下相思在这里是哪首歌的歌曲 千牛客户关系管理在哪 如果遇见你是我最美好的开始 下一句该写什么