`
小网客
  • 浏览: 1247473 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基于tomcat获取在线用户数

    博客分类:
  • J2ee
 
阅读更多

需求:

统计某应用的在线用户数

实现方案:

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;
}

 

5
4
分享到:
评论
4 楼 小网客 2015-01-22  
yin_bp 写道
这个应该是依赖tomcat容器和tomcat版本实现的吧,可以了解一下基于bboss做的会话管理功能,实现与具体容器无关,除了能够统计在线会话数,还能在监控中心管理应用会话(删除会话,查询会话数据等),参考资料:
bboss会话共享demo使用指南
bboss session共享架构及特点
bboss session共享使用方法介绍
bboss会话共享培训文档分享

对 依赖 tomcat
3 楼 yin_bp 2015-01-22  
这个应该是依赖tomcat容器和tomcat版本实现的吧,可以了解一下基于bboss做的会话管理功能,实现与具体容器无关,除了能够统计在线会话数,还能在监控中心管理应用会话(删除会话,查询会话数据等),参考资料:
bboss会话共享demo使用指南
bboss session共享架构及特点
bboss session共享使用方法介绍
bboss会话共享培训文档分享
2 楼 小网客 2015-01-22  
cywhoyi 写道
多次统计同一个人?

不是啊
1 楼 cywhoyi 2015-01-22  
多次统计同一个人?

相关推荐

    how tomcat work

    通过阅读《深度剖析Tomcat》中文版和源码,可以更深入地理解Tomcat的内部运作机制,这对于开发、调试和优化基于Tomcat的Web应用具有极大的帮助。书中的案例和源码分析能帮助开发者解决实际问题,提高工作效率。

    tomcat 6.0安装包下载

    **Tomcat 6.0 安装与配置详解** Tomcat 6.0 是一个流行的开源Java...理解并掌握这些步骤将帮助你更好地管理和维护基于Tomcat的应用程序。随着技术的不断发展,建议升级到更现代的Tomcat版本以获得更好的性能和安全性。

    apache-tomcat-8.5.47.zip

    同时,合理配置Tomcat的运行参数(如最大线程数、内存分配等)也是至关重要的,这有助于防止服务器过载并确保服务的稳定性。 总的来说,Apache Tomcat 8.5.47作为一款成熟的Java Web服务器,为开发者提供了便利的...

    tomcat9.zip

    【标题】"Tomcat 9.0.21" 是一款广泛应用的开源Web服务器和Java应用服务器,由Apache软件基金会的Tomcat项目开发并维护。...通过CSDN这样的平台快速下载,用户可以轻松获取并开始使用这个最新的Tomcat版本。

    Android自动在线升级完整版 服务器为Tomcat

    在Android系统中,实现应用的自动在线升级是一项重要的功能,它能够让用户无缝地获取到应用的最新版本,提高用户体验并确保应用的安全性。本资源主要介绍如何构建一个基于Tomcat服务器的Android应用自动升级系统。 ...

    tomcat7.0下载64位

    此处强调了分享的便捷性,意味着用户无需付出大量精力或成本即可获取到所需的64位Tomcat版本,从而快速开始自己的开发或测试工作。 关于Tomcat 7.0的详细知识点: 1. **安装与配置**:首先,需要下载适合操作系统...

    Tomcat comet 服务器推技术

    这种技术在实时性要求高的场景,如在线聊天、股票报价、游戏更新等,具有显著的优势,因为它减少了网络延迟,提高了用户体验。 【描述】(无描述,因此将从博客链接中获取信息) 根据提供的博客链接,我们可以推测...

    安装版Tomcat6

    6. **安全管理**:Tomcat 6.0.18版本的安全性相比早期版本有所提升,但仍然需要配置`server.xml`来管理用户访问、设置管理员角色以及密码等。 7. **日志与错误处理**:Tomcat的logs目录下存储着服务器运行的日志...

    apache-tomcat-8.5.38.zip tomcat 安装包

    - Apache Tomcat 8.5系列是基于Java EE 7规范的,它提供了对最新JSP、Servlet和EL(Expression Language)版本的支持。 - 版本号中的8.5.38表示这是一个维护版本,通常会修复前一版本的已知问题,增强安全性和性能...

    tomcat-5.5.23-windows-x86

    Apache Tomcat 5.5.23 是一个广泛使用的开源软件,它是一个符合Java Servlet和JavaServer Pages(JSP)规范的应用服务器,专门用于运行基于Java技术的Web应用程序。这个版本是针对Windows x86平台优化的,因此在32位...

    apache-tomcat-7.0.52下载

    5. **安全性**:Tomcat支持多种安全机制,包括SSL/TLS协议以加密通信,以及基于角色的访问控制(RBAC)和Jaas(Java Authentication and Authorization Service)来管理用户身份和权限。 6. **性能优化**:Tomcat ...

    tomcat4.1

    5. **安全性**:Tomcat 4.1支持基本的安全特性,如用户认证(通过`conf/tomcat-users.xml`配置)、角色授权以及SSL/TLS加密。不过,由于年代较早,其安全特性相比现代版本可能有所欠缺。 6. **性能优化**:可以通过...

    tomcat 服务器 tomcat 服务器

    Tomcat的性能可以通过调整配置参数、使用NIO(非阻塞I/O)连接器、启用压缩、限制并发连接数等方式进行优化。 6. **安全与管理** Tomcat提供了安全管理机制,如用户认证、角色授权和访问控制。管理员可以通过管理...

    apache-tomcat-9.0.43.rar

    定期更新Tomcat版本对于防止恶意攻击和保护用户数据至关重要。 4. **配置改进**:Tomcat 9.0.43引入了一些新的配置选项,使得管理员可以根据需求更加灵活地配置服务器,比如调整线程池大小、设置会话超时等。 5. *...

    tomcat8(64位)

    【标题】"Tomcat8(64位)"是一款基于Java的开源Web服务器和Servlet容器,专为运行Java Web应用程序而设计。它由Apache软件基金会维护,是Java EE平台的重要组成部分,广泛应用于各种规模的企业级应用。 【描述】...

    tomcat 5.0 安装包

    1. **Tomcat介绍**:Tomcat是基于Java的Servlet容器,它实现了Java Servlet和JSP规范,使得开发者可以用Java编写动态网页。Tomcat作为一个轻量级应用服务器,相比其他全功能的应用服务器(如JBoss、WebLogic),它的...

    Tomcat 6x应用服务器

    此外,Tomcat还提供了一个基于Web的管理界面,管理员可以在线管理应用、查看日志、控制服务器状态等。 4. **安全性** Tomcat 6x包含了基本的安全配置,如角色基础的访问控制(RBAC)、SSL/TLS支持以及HTTPS连接。...

    Tomcat工作原理祥解

    ### Tomcat工作原理详解 #### 一、Tomcat背景与简介 Tomcat是Apache软件基金会Jakarta项目的一个开源...通过了解Tomcat的架构设计、类加载机制和核心配置文件,可以帮助开发者更好地部署和管理基于Tomcat的应用程序。

    apache-tomcat-6.0.37

    2. **下载与解压**:从Apache官方网站获取Tomcat 6.0.37的归档文件,解压到你选择的目录,例如`C:\Program Files\Apache Software Foundation\Tomcat 6.0`。 3. **环境变量**:设置或更新系统环境变量`CATALINA_...

    apache-tomcat-7.0.27.zip

    Apache Tomcat 7.0.27 是一个广泛使用的开源软件,它是一个符合Java Servlet和JavaServer Pages(JSP)规范的应用服务器,专门用于运行基于Java的Web应用程序。这个版本的Tomcat是针对Windows 32位操作系统设计的...

Global site tag (gtag.js) - Google Analytics