基于tomcat获取在线用户数
https://blog.csdn.net/smallnetvisitor/article/details/84697505
需求:
统计某应用的在线用户数
实现方案:
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;
- }
基于tomcat获取在线用户数的更多相关文章
- 关于使用HttpSessionBindingListener获取在线用户数,同一用户登陆一次
原创地址:http://blog.csdn.net/jiaoxueli/article/details/2226134 考虑到项目中统计在线用户数量和同一用户只能登陆一次的需求,查询联系 HttpSe ...
- 基于express+redis高速实现实时在线用户数统计
作者:zhanhailiang 日期:2014-11-09 本文将介绍怎样基于express+redis高速实现实时在线用户数统计. 1. 在github.com上创建项目uv-tj.将其同步到本地: ...
- Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介
Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...
- websocket 无需通过轮询服务器的方式以获得响应 同步在线用户数 上线下线 抓包 3-way-handshake web-linux-shell 开发
https://code.google.com/archive/p/phpwebsocket/source/default/source The WebSocket API (WebSockets) ...
- 基于tomcat与Spring的实现差异化配置方案
起因 在实际开发过程中经常需要加载各种各样的配置文件..比如数据库的用户名密码,要加载的组件,bean等等..但是这种配置在各个环境中经常是不一样的....比如开发环境和测试环境,真实的生产环境.. ...
- 基于Tomcat的Solr3.5集群部署
基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...
- 基于tomcat+spring+mysql搭建的个人博客
基于tomcat和spring开发的个人博客, 服务器是基于tomcat, 用了spring框架, web.xml的配置简单明了,我们只要配置MYSQL和用户过滤器等, 服务器的jsp就是负责VIEW ...
- [项目回顾]基于Redis的在线用户列表解决方案
迁移:基于Redis的在线用户列表解决方案 前言: 由于项目需求,需要在集群环境下实现在线用户列表的功能,并依靠在线列表实现用户单一登陆(同一账户只能一处登陆)功能: 在单机环境下,在线列表的实现方案 ...
- PHP统计当前在线用户数实例
HTML 我们在页面上放置一个显示当前在线人数的div#total以及一个用于展示访客地区分布的列表#onlinelist,默认我们在列表中放置一张与加载动画图片,后面我们用jQuery控制当鼠标滑向 ...
随机推荐
- JDBC Request
1.下载jdbc驱动,放至jmeter安装目录的lib目录和lib\ext目录下 PS:自己操作的时候,由于JDBC Connection Configuration中驱动名称写错,前面多了一个空格, ...
- GUI开发:实时显示摄像头图像
import tkinter as tk from PIL import Image, ImageTk import cv2 import numpy as np import time g_exit ...
- 极速在mac中安装python开发环境
mac开发环境的安装: brew: 包管理工具{ 安装:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/in ...
- windows处理PHP定时任务
我用的是bat文件处理定时任务,bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用 创建一个bat文件,编辑文本,添加需要的php文件,前面路径是你的PHP执行程序,后面路径是文件 ...
- cocos大量对象使用动作注意事项
,,} for i,v in ipairs(area) do if gameResult == v then ]) do local scale_1 = cc.ScaleTo:create(0.05, ...
- Bootstrap 总结
Bootstrap 首先要引入下面三个文件 <!-- 新 Bootstrap 核心 CSS 文件 --> <link href="https://cdn.bootcs ...
- 根据图片URL获取图片的尺寸【Swift语言实现】
import UIKit extension UIImage { /// 获取网络图片尺寸 /// /// - Parameter url: 网络图片链接 /// - Returns: 图片尺寸siz ...
- [ 转 ] RESTful
一.什么是RESTful 定义: REST全程是Representational State Transfer,表述性状态转移.它首次出现在2000年Roy Fielding的博士论文中,Roy Fi ...
- 2017-9-10"切题如切菜杯"模拟赛T4 ZZI
题目 YYH拿到了父亲给的钱欣喜若狂,把这些钱拿来造了n栋房子.现在他要给这些房子通电.他有两种方法:第一种是在房间里搭核电发电机发电,对于不同的房子,他需要花不同的代价Vi:,第二种是将有电的房子i ...
- EditPlus软件自动补全文档htmlbar.acp设置 及 模板文件格式
1.在htmlbar.acp文件末尾添加如下内容,可自动补全: #T=HTML <html> ^! </html> #T=HEAD <head> ^ ...