通过session统计当前在线人数

Session实现网站在线人数统计 Session统计网站在线人数 模仿一个B站左下角的人数在线统计: 1.实现一个Session监听器的接口,里面重写了俩个方法,一个是获取Session的方法,一个是销毁Session的方法。   2.用监听器带的对象se获取Session对象并且将获取的对象提高作用域至域对象(ServletContext上下文对象,最顶级对象)。 这边作为扩展我们来回顾一些Servlet中这个最高作用域ServletContext。 是一个域对象, 域对象是服务器在内存上创建的存储空间,用于在不同动态资源(ser 阅读详情

通过session统计当前在线人数

1
2
3
4
<!-- 监听器配置 -->
     <listener>
         <listener- class >com.oracle.com.MyListener</listener- class >
     </listener>

  配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package  com.oracle.com;
 
import  javax.servlet.ServletContext;
import  javax.servlet.http.HttpSession;
import  javax.servlet.http.HttpSessionEvent;
import  javax.servlet.http.HttpSessionListener;
 
public  class  MyListener  implements  HttpSessionListener {
 
     @Override
     public  void  sessionCreated(HttpSessionEvent event) {
         // System.out.println("创建了");
         HttpSession session = event.getSession(); // 获得Session对象
         // 通过Session获得servletcontext对象
         ServletContext servletContext = session.getServletContext();
         /**
          * 1.获取num值
          * 2.加1
          * 3.存入servletcontext
          */
         Object object = servletContext.getAttribute( "num" );
         if  (object ==  null ) {
             servletContext.setAttribute( "num" ,  1 );
         }  else  {
             Object num = servletContext.getAttribute( "num" );
             int  num1 = ( int ) num;
             servletContext.setAttribute( "num" , num1 +  1 );
         }
     }
 
     @Override
     public  void  sessionDestroyed(HttpSessionEvent event) {
         // System.out.println("销毁了");
         HttpSession session = event.getSession(); // 获得Session对象
         // 通过Session获得servletcontext对象
         ServletContext servletContext = session.getServletContext();
         /**
          *  1.获取num值
          *  2.减1
          *  3.存入servletcontext
          */
         servletContext.setAttribute( "num" , ( long ) servletContext.getAttribute( "num" ) -  1 );
     }
 
}

  统计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package  com.oracle.com;
 
import  java.io.IOException;
import  java.io.PrintWriter;
 
import  javax.servlet.ServletContext;
import  javax.servlet.ServletException;
import  javax.servlet.http.HttpServlet;
import  javax.servlet.http.HttpServletRequest;
import  javax.servlet.http.HttpServletResponse;
import  javax.servlet.http.HttpSession;
 
public  class  servletDemo5  extends  HttpServlet {
     @Override
     protected  void  doGet(HttpServletRequest req, HttpServletResponse resp)  throws  ServletException, IOException {
         doPost(req, resp);
     }
 
     @Override
     protected  void  doPost(HttpServletRequest req, HttpServletResponse resp)  throws  ServletException, IOException {
 
         req.setCharacterEncoding( "utf-8" );
         resp.setContentType( "text/html;charset=utf-8" );
         HttpSession session = req.getSession(); // 创建Session
         // session.setMaxInactiveInterval(10);//设置失效时间10秒 不是销毁
         PrintWriter writer = resp.getWriter();
         ServletContext servletContext = getServletContext();
         Object num = servletContext.getAttribute( "num" );
         writer.write( "在线人数:"  + num);
     }
}
Listener系列教材 (五)- 借助Session监听器统计当前在线人数 这个文件是tomcat存放以前的session的,为了观察到创建session的活动,需要tomcat重启之前把以前的session都清除掉,才能观察到新创建session的活动。一旦一个用户访问服务器,就会创建一个session. 如果该用户持续访问,那么该session会持续有效。,该用户也没有做任何操作,就表示该用户“下线” 了,其对应的session也会被销毁。当创建一个session的时候,就把数字+1,并且放在application里。当销毁一个session的时候,把这个数字-1。 阅读详情

相关推荐

ASP.NET中利用Application和Session统计在线人数、历史访问量

通常在整个过程中,大多数人对Application_End()这个事件的疑问是最大的,因为如果您只是在VisualStudio上做的测试的话,关闭系统时,没有触发Application_End()事件,新的数据也就没有被写入到数据库中。那么Application_End()究竟在什么时候才会被触发呢 ? 想弄明白这个问题,需要将程序发布,这里以IIS为例,用IIS发布了程序之后运行,当想要触发Application_End()事件把最新的历史访问量写入到 数据库中时,需要在IIS中关闭此程序

点滴汇聚,智在积累。——Danny 1万+

JavaWeb学习笔记8——用Session统计在线人数

目录 一、什么是Session? 二、代码 三、截图 四、总结 一、什么是Session? Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session是保存在服务器上的。客户端浏览器访问服务器时,服务器把客户信息以某种形式记录在服务器上,这就是Session.。当客户端浏览器再次访问时只需要从Session中查找该客户额度状态就行了。 二、代...

齐天小圣^O^ 的博客 2022

实时显示在线人数据及ip可自行开发写入数据库

实时显示在线人数据及ip可自行开发写入数据库 打开dome.asp

session统计在线人数,查看游客列表,登录人列表

1.首先创建一个类MySessionListener并且实现HttpSessionListener,       ServletContextListener,ServletContextAttributeListener,ServletRequestListener接口      2、在createsession的方法中的思路:当用户来访问网站的时候,也就是创建一个新的session,同

yangyz_love的专栏 9363

JAVA的SESSION精准统计

JAVA的SESSION精准统计 消除了SESSION可以为负数的BUG... 更加精准

IFIX往Mysql数据库同步数据方法

通过IFix数据库向Mysql数据库同步数据

仙人掌 1597

通过session判断多少人在线

Servlet中有一个session监听接口:HttpSessionListener,我们可以通过HttpSessionListener监听接口实现对当前在线人数的监听HttpSessionListener是个session监听器,它有两个方法:public void sessionCreated(HttpSessionEvent event){}public void sessionDestro

Zxdth的博客 1773

常见的十大量化投资策略(附源码)

量化投资策略是利用量化的方法,进行金融市场的分析、判断和交易的策略、算法的总称。著名的量化投资策略有以下10种(注:策略源码模板不能直接用于实盘交易,仅供探讨交流) 01、海龟交易策略 海龟交易策略是一套非常完整的趋势跟随型的自动化交易策略。这个复杂的策略在入场条件、仓位控制、资金管理、止损止盈等各个环节,都进行了详细的设计,这基本上可以作为复杂交易策略设计和开发的模板。 海龟交易策略源码:https://www.myquant.cn/docs/python_strategyies/110 0.

小壁虎的春天 2万+

oracle平均在线人数,通过session统计当前在线人数

com.oracle.com.MyListener配置package com.oracle.com;import javax.servlet.ServletContext;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSes...

weixin_36217058的博客 251

如何将rvt(BIM)转换为点云格式

1、为什么将BIM转换为点云格式? 如何使设计BIM与真实场景进行配准,分析在建、未建、已建构建的情况,真实场景是通过点云生产的,和点云配准需要相同的格式。 2、如何转换? 实用工具revit,转换过程如下图,这样就可以转换成三角网格形式。 3、FBX还需要进行一次转换,即转换成点云常用的类型,如bin\ply\pcd等格式。 需要软件cloudcompare.exe,软件下载地址百度云 链接:https://pan.baidu.com/s/1pflcKNc04loBnS1yKR39hw 提取码:obaf

self_Name_的博客 4492

使用PyTorch设计卷积神经网络(CNN)来处理遥感图像Indian Pines数据集

使用PyTorch设计卷积神经网络(CNN)来处理遥感图像Indian Pines数据集

XAX520_1314的博客 2491

session监听器(可用于统计在线人数,当前客户)

在系统运行中,有时候我们想了解下当前使用系统的用户,有多少人在使用系统?具体是哪些人在使用系统? 这时候,就可以通过session监听器(javax.servlet.http.HttpSessionAttributeListener 接口)的功能来实现。当用户登录系统的时候,通过特定的session属性记录下用户的登录情况。 整个过程可以分为以下4步: 第1步 准备session监听器处理类。

real.me 1万+

MounRiver Studio(MRS)使用技巧:添加头文件目录;增加代码分组

MounRiver Studio(MRS)使用技巧:添加头文件目录

cheng___yi的博客 1811

Listener监听器-借助session监听器统计当前在线人数

HTTP协议是短链接的,所以无法在服务端根据建立了多少连接来统计当前有多少人在线。 不过可以通过统计session有多少来估计在线人数。  一旦一个用户访问服务器,就会创建一个session. 如果该用户持续访问,那么该session会持续有效。  如果经历了30分钟,该用户也没有做任何操作,就表示该用户“下线” 了,其对应的session也会被销毁。  所以可以通过统计有多少session

litengbin的博客 613

从 VS Code 登录 ABAP Destination,一次把前后端连接跑通

最近很多 ABAP 开发者开始把 VS Code 纳入日常开发环境,原因很直接,VS Code 的轻量体验、命令面板、文件树、插件生态和 AI 编程能力,已经深深影响了现代开发者的工作方式。SAP 官方发布的 ABAP Development Tools for VS Code,也把 ABAP Cloud 开发模型带进了这个编辑器里。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 227

【Android面试八股文】Android Application为什么是单例?

这道题相对简单,就是考察大家是否了解application的创建流程。的实例,它用来存储和处理整个全局变量的一些事情,它同时还是一个。为空的时候,才会创建,从而保证了它是一个单例对象。一样有自己的生命周期,但是它并没有那么复杂,因为。对象的创建过程,找出它为什么是单例的原因。全局进行一些配置,比如配置插件。的时候才会创建,所以说可以在。凭什么是单例,我们查看下。启动的时候都会创建一个。是怎么一步步创建的。是一个单例,即每一个。

字节卷动 532

session监听器(可用于统计在线人数,了解系统当前的使用客户)

★★★ 本篇为原创,需要引用转载的朋友请注明:《 http://stephen830.iteye.com/blog/338291 》 谢谢支持! ★★★ 在系统运行中,有时候我们想了解下当前使用系统的用户,有多少人在使用系统?具体是哪些人在使用系统? 这时候,就可以通过session监听器(javax.servlet.http.HttpSessionAttributeListener

wangfan1207的专栏 428

恒玄BES调试笔记-BES2500如何OTA升级ANC和通透参数

前期量产软件anc参数主要是通过anc工具写入flash中,或者anc total gain通过美格信设备校准写入,对于量产后如果想要更新anc参数,如通透模式参数,则无法更新。 这个时候需要通过OTA升级软件,把相关anc参数内置到软件中,从flash中读取total gain。 1、更新强弱降噪和通透参数,由于涉及到个人参数就不列出来了,主要是改动以下相关参数。 extern struct_anc_cfg * anc_coef_list_50p7k[ANC_COEF_...

leezs的博客 2225

session监听器(可用于统计在线人数,了解系统当前已经登录的使用客户)

在系统运行中,有时候我们想了解下当前使用系统的用户,有多少人在使用系统?具体是哪些人在使用系统? 这时候,就可以通过session监听器(javax.servlet.http.HttpSessionAttributeListener 接口)的功能来实现。当用户登录系统的时候,通过特定的session属性记录下用户的登录情况。整个过程可以分为以下4步:第1步 准备session监听器处理类。 (如下...

Howinfun的博客 1792

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

下一篇: Java ConcurrentModificationException异常原因和解决方法 目录 一.ConcurrentM
jack_czz
博客等级 码龄10年 4粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值