需求:
统计某应用的在线用户数
实现方案:
1.基于session监听(复杂麻烦)
2.基于org.apache.catalina.Manager(依赖)
采用第二种的实现如下:
private int activeUserNumber(HttpServletRequest request) { int activeSessions = 0; try { if (request instanceof RequestFacade) { Field requestField = request.getClass().getDeclaredField( "request"); requestField.setAccessible(true); Request req = (Request) requestField.get(request); org.apache.catalina.Context context = req.getContext(); Manager manager = context.getManager(); activeSessions = manager.getActiveSessions(); } } catch (Exception e) { e.printStackTrace(); } log.info("users:{}", activeSessions); return activeSessions; } private List<Usr> activeUsers(HttpServletRequest request) { List<Usr> list = new ArrayList<Usr>(); try { if (request instanceof RequestFacade) { Field requestField = request.getClass().getDeclaredField( "request"); requestField.setAccessible(true); Request req = (Request) requestField.get(request); org.apache.catalina.Context context = req.getContext(); Manager manager = context.getManager(); Session[] sessions = manager.findSessions(); for (Session session : sessions) { //your } } } catch (Exception e) { e.printStackTrace(); } log.info("users:{}", list); return list; }
相关推荐
开发技术与环境 后端技术: Java 框架: Spring MVC、Spring、MyBatis(SSM) ...该研知识题库小程序基于SSM框架和微信小程序平台,为用户提供了方便、灵活的学习和练习环境,帮助用户提升知识水平和应试能力。
针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 4、 系统的数据要求:1、数据录入和处理的准确性和实时性。2、数据的一致性与完整性。3、数据的共享与独立性。 2.2. 系统的可行性...
从键盘获取用户输入的数字。 比较生成的随机数与用户输入的数字的大小。 分情况进行页面跳转: 随机数 = 用户输入数 –> 成功界面 随机数 > 用户输入数 –> 重试界面1 随机数 重试界面2 成功界面 :
医院在线预约挂号系统 jsp+mysql+maven 挂号预约系统 选题背景 现有某医院想要提升患者挂号管理水平,打算引入一套挂号预约管理系统。 功能需求 挂号预约系统主要包括基础数据管理、预约管理、查询与统计分析三个子...
航空公司的机票预订系统(Java Web...Web服务: SOAP Web服务(获取价格和座位数) 安全功能: SQL注入,跨站点脚本(XSS),Tomcat角色 的角色 实现了以下角色: 航空公司管理员 航空公司经理 顾客 工作流程(功能)
Web服务: SOAP Web服务(获取价格和座位数) 安全功能: SQL注入,跨站点脚本(XSS),Tomcat角色 的角色 实现了以下角色: 航空公司管理员 航空公司经理 顾客 工作流程(功能) 这仅适用于希望通过互联网向其...
2.2.2 Tomcat的下载与安装 20 2.2.3 显示字体实例 23 2.3 安装与配置Eclipse 25 2.3.1 Eclipse简介 25 2.3.2 安装MyEclipse 26 2.3.3 Eclipse加载Tomcat 30 2.3.4 在Eclipse中创建JSP 31 2.4 JSP页面执行流程 36 2.5...
第1章 Java图形用户界面编程 1 实例1 布局管理 2 实例2 设计软件启动界面 9 实例3 实现多色窗口 11 实例4 切分窗口 13 实例5 丰富多彩的按钮 15 实例6 在窗口中显示背景图 16 实例7 在窗体中绘制图形 18 实例8 利用...
3、代码分享功能(核心功能),该功能的主要特色是集成了优秀的文本编辑器,支持插入代码、插入链接、插入表情、插入图片、支持在线预览。同时也实现了文件上传(基于struts2的文件上传功能)。 4、代码下载,下载...
1.4.3 获取Tomcat 1.4.4 熟悉Tomcat的五脏六腑 1.5 JavaWeb开发利器之Eclipse 1.5.1 获取Eciipse 1.5.2 运行Eclipse 1.5.3 打造中文版Eclipse 1.6 做好项日开发的准备工作 1.6.1 集成Eelipse与Tomcat 1.6.2 完善web...
JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页...
Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket...
Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket...
JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页...
JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页...
JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页...
JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页...