文档章节

统计当前在线用户数量

Bob2100
 Bob2100
发布于 2016/12/10 20:41
字数 276
阅读 23
收藏 0
点赞 0
评论 0

1、ServletContext记录个数

package cn.demo.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class MyServletContextListener implements ServletContextListener {

	@Override
	public void contextInitialized(ServletContextEvent sce) {
		// 容器一启动ServletContext对象就会创建,该方法就会执行
		System.out.println("容器创建了...");
		ServletContext servletContext = sce.getServletContext();
		int count = 0;
		servletContext.setAttribute("count", count);
	}

	@Override
	public void contextDestroyed(ServletContextEvent sce) {
		// 容器销毁ServletContext对象就销毁,该方法就会执行
		System.out.println("容器销毁了...");

	}

}

web.xml配置
 
  <listener>
  	<listener-class>cn.demo.listener.MyServletContextListener</listener-class>
  </listener>

2、监听session创建

package cn.demo.listener;

import java.util.Date;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

/**
 * 监听session个数
 * 
 */
public class MySessionListener implements HttpSessionListener {

	@Override
	public void sessionCreated(HttpSessionEvent se) {
		// 当服务器创建一个session的时候该方法执行
		System.out.println("session被创建了..." + se.getSession().getId() + "..." + new Date());
		ServletContext servletContext = se.getSession().getServletContext();
		int count = (Integer) servletContext.getAttribute("count");
		count++;
		servletContext.setAttribute("count", count);
	}

	@Override
	public void sessionDestroyed(HttpSessionEvent se) {
		System.out.println("session被销毁了..." + se.getSession().getId() + "..." + new Date());
		ServletContext servletContext = se.getSession().getServletContext();
		int count = (Integer) servletContext.getAttribute("count");
		count--;
		servletContext.setAttribute("count", count);
	}

}

web.xml
  <listener>
  	<listener-class>cn.itcast.listener.MySessionListener</listener-class>
  </listener>

3、页面显示

showSessionCount.jsp显示

<body>
	<h2 align="center">当前服务器session个数:${applicationScope.count}</h2>
</body>

© 著作权归作者所有

共有 人打赏支持
Bob2100
粉丝 5
博文 50
码字总数 10399
作品 0
浦东
高级程序员
ASP.NET中在线用户统计

天极论坛 统计在线用户的作用不言而喻,就是为了网站管理者可以知道当前用户的多少,然后根据用户数量来观察服务器或者程序的性能,从而可以直观的了解到网站的吸引力或者网站程序的效率。现...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

.Net如何统计在线人数

统计在线用户的作用不言而喻,就是为了网站管理者可以知道当前用户的多少,然后根据用户数量来观察服务器或者程序的性能,从而可以直观的了解到网站的吸引力或者网站程序的效率现在,我们就介...

长平狐 ⋅ 2013/01/06 ⋅ 0

统计网站在线人数

如何统计网站的在线人数呢? 首先很简单的思想就是,如果只针对会员用户进行统计,在登录登出时加判断,然后维护一个表(或者其他存储方式)来存储在线会员即可。 但是有个问题就是,对于正常...

Hosee ⋅ 2016/05/28 ⋅ 0

如何解读极光推送送达率【产品总监分享】

初接触极光推送的使用者,为了衡量消息推送的质量。经常会纠结到消息的"送达率"这个概念.那么究竟什么是送达率呢?或者如何正确理解消息的送达情况呢? 基本概念 先来看与消息送达相关的几个基...

极光推送 ⋅ 2015/01/28 ⋅ 0

【揭秘】极光推送ios、Android消息推送达率的原理

初接触极光推送的使用者,为了衡量消息推送的质量。经常会纠结到消息的"送达率"这个概念.那么究竟什么是消息送达率呢?或者如何正确理解消息的送达情况呢? 基本概念 先来看与消息送达相关的几...

极光推送 ⋅ 2015/01/28 ⋅ 0

并发连接数、请求数、并发用户数

-----提供ADExchangeLyncSharepointCRMSCO365等微软产品实施及外包,QQ:185426445.电话18666943750 并发连接数、请求数、并发用户数 概念 并发连接数-SBC(Simultaneous Browser Connection...

zhou_ping ⋅ 2016/10/02 ⋅ 0

并发连接数、请求数、并发用户数

并发连接数-SBC(Simultaneous Browser Connections) 并发连接数指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器链接的总TCP数量,就是并发连接数。 请求数-QPS(Query Per S...

天呀鲁哇 ⋅ 2016/09/08 ⋅ 0

关于移动互联网产品的指标分析初探

移动互联网产品的本质是信息与数据的传输和交换,其商业模式与数据流量息息相关(可参见 http://blog.csdn.net/wirelesscom/article/details/50467071),因而会产生面向运营的产品设计等诸多...

wireless_com ⋅ 2016/02/27 ⋅ 0

“并发用户数”、“系统用户数”和“同时在线用户数”的计算公式

与并发用户数相关的概念还包括“并发用户数”、“系统用户数”和“同时在线用户数”,下面用一个实际的例子来说明它们之间的差别。 假设有一个OA系统,该系统有2000个使用用户——这就是说,...

凯文加内特 ⋅ 2016/02/02 ⋅ 0

系统实际用户数,系统在线用户数含义

用户数:计费系统中所能允许的用户数量的最大值(取决于系统硬件存储器容量和软件的支持能力) 系统实际用户数:系统额定的用户数量(使用该系统的用户数量) 系统在线用户数:当前在线的用户...

墨点黑了白纸 ⋅ 2014/12/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JDK1.6和JDK1.7中,Collections.sort的区别,

背景 最近,项目正在集成测试阶段,项目在服务器上运行了一段时间,点击表格的列进行排序的时候,有的列排序正常,有的列在排序的时候,在后台会抛出如下异常,查询到不到数据,而且在另外一...

tsmyk0715 ⋅ 22分钟前 ⋅ 0

spring RESTful

spring RESTful官方文档:http://spring.io/guides/gs/rest-service/ 1. 可以这么去理解RESTful:其实就是web对外提供的一种基于URL、URI的资源供给服务。不是一个原理性知识点。是一个方法论...

BobwithB ⋅ 24分钟前 ⋅ 0

C++ 中命名空间的 5 个常见用法

相信小伙伴们对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间在1995年被引入到 c++ 标准中,通常是这样定义的: 命名...

柳猫 ⋅ 27分钟前 ⋅ 0

@Conditional派生注解

@Conditional派生注解(Spring注解版原生的@Conditional作用) 作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效; @Conditional扩展注解 作用(判...

小致dad ⋅ 27分钟前 ⋅ 0

适配器模式

适配器模式 对象适配器 通过私有属性来实现的类适配器 通过继承来实现的接口适配器 通过继承一个默认实现的类实现的

Cobbage ⋅ 31分钟前 ⋅ 0

Java 限流策略

概要 在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速...

轨迹_ ⋅ 35分钟前 ⋅ 0

GridView和子View之间的间隙

默认的情况下GridView和子View之间会有一个间隙,原因是GridView为了在子View被选中时在子View周围显示一个框。去掉的办法如下: android:listSelector="#0000" 或 setSelector(new ColorDra...

国仔饼 ⋅ 38分钟前 ⋅ 0

idea插件开发

1 刷新页面要使用多线程 2 调试要使用restart bug 不要去关闭调试的idea 否则再次启动会卡住

林伟琨 ⋅ 38分钟前 ⋅ 0

Java 内存模型

物理机并发处理方案 绝大多数计算任务,并不是单纯依赖 cpu 的计算完成,不可避免需要与内存交互,获取数据。内存要拿到数据,需要和硬盘发生 I/O 操作。计算机存储设备与 cpu 之间的处理速度...

长安一梦 ⋅ 45分钟前 ⋅ 0

思路分析 如何通过反射 给 bean entity 对象 的List 集合属性赋值?

其实 这块 大家 去 看 springmvc 源码 肯定可以找到实现办法。 因为 spirngmvc 的方法 是可以 为 对象 参数里面的 list 属性赋值的。 我也没有看 具体的 mvc 源码实现,我这里只是 写一个 简...

之渊 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部