文档章节

统计当前在线用户数量

Bob2100
 Bob2100
发布于 2016/12/10 20:41
字数 276
阅读 38
收藏 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
粉丝 15
博文 56
码字总数 15529
作品 0
浦东
高级程序员
ASP.NET中在线用户统计

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

晨曦之光
2012/03/09
164
0
.Net如何统计在线人数

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

长平狐
2013/01/06
1K
0
统计网站在线人数

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

Hosee
2016/05/28
985
0
云盾.态势感知情报生态合作发布

云盾态势感知定位为安全的自动化运维的SOC平台,同时作为一个平台级产品不断在推动生态共建,通过开放合作来促进网络安全行业的共同发展。 2018年9月21日,在杭州云栖大会云安全峰会上,云盾...

南希2017
09/29
0
0
并发连接数、请求数、并发用户数

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

天呀鲁哇
2016/09/08
21
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
4
0
现场看路演了!

HiBlock
昨天
14
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
9
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
19
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部