使用ServletContextListener和HttpSessionListener两种监听器实现记录当前网站在线人数...

news/2024/5/10 1:21:23/文章来源:https://blog.csdn.net/weixin_30820151/article/details/98735781

web.xml中配置:

 <listener>
   <listener-class>com.mcm.listener.ServletContextListenerImpl</listener-class>
  </listener>
  <listener>
   <listener-class>com.mcm.listener.HttpSessionListenerImpl</listener-class>
  </listener>

 

ServletContextListenerImpl类:

package com.mcm.listener;

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

public class ServletContextListenerImpl implements ServletContextListener {

public void contextDestroyed(ServletContextEvent event) {
  ServletContext application = event.getServletContext();
  application.removeAttribute("onLineNum");
}

public void contextInitialized(ServletContextEvent event) {
  int num = 0;
  ServletContext application = event.getServletContext();
  application.setAttribute("onLineNum", num);
}

}

 

HttpSessionListenerImpl类:

 

package com.mcm.listener;

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

public class HttpSessionListenerImpl implements HttpSessionListener {

 public void sessionCreated(HttpSessionEvent event) {
  ServletContext application = event.getSession().getServletContext();
  Integer num = (Integer) application.getAttribute("onLineNum");
  if(num != null){
   int count = num;
   count = count + 1;
   application.setAttribute("onLineNum", count);
  }
 }

 public void sessionDestroyed(HttpSessionEvent event) {
  ServletContext application = event.getSession().getServletContext();
  Integer num = (Integer) application.getAttribute("onLineNum");
  int count = num;
  count = count - 1;
  application.setAttribute("onLineNum", count);
  
 }

}

index.jsp中:

当前在线人数:${onLineNum }

 

 

结果:

 

转载于:https://www.cnblogs.com/jiangu66/p/3201138.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_725167.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PC网站微信扫码支付,Native支付,“当前商户号暂不支持关联该类型的appid“,“签名错误,请检查后再试““springBoot 微信支付“

springBoot 微信支付 PC网站微信扫码支付-Native支付一、采坑大合集1.当前商户号暂不支持关联该类型的appid2.签名错误&#xff0c;请检查后再试二、springboot集成微信支付Demo&#xff08;老版本XML&#xff09;1.官方SDK下载&#xff1a;[https://pay.weixin.qq.com/wiki/do…

前端和算法实现:给网站上加上自己的水印(简单+复杂)

watermark插件的github地址&#xff1a;https://github.com/saucxs/watermark 有详细的使用步骤&#xff0c;可以参考&#xff0c;不会用请留言&#xff0c;感觉可以&#xff0c;请给个星星。 sau交流学习社区&#xff08;首发&#xff09;&#xff1a;https://www.mwcxs.top/p…

大型网站的架构设计与演进

大型网站之大&#xff0c;在于访问量和数据量同时都规模巨大&#xff0c;缺一不可。 1. 架构设计 大型网站中&#xff0c;最核心的功能是计算和存储。 存储&#xff1a;DataBase&#xff0c;计算&#xff1a;Application server&#xff0c;应用服务器完成业务功能和逻辑。如果…

网站莫名跳转,从百度谈什么是网站劫持?

今年2月份的时候&#xff0c;网上爆出了神马搜索劫持百度搜索流量事件&#xff0c;网友使用百度搜索进入的搜索结果页出来的却是神马搜索的结果页。 百度搜索流量事件是网站劫持的其中一种表现。网站劫持还会导致以下问题&#xff1a; 用户输入正常网址跳转到其它地址&#xff…

软工作业4:用户体验分析:以 “师路南通网站” 为例

一、目标&#xff1a;针对师路南通 &#xff0c;开展UX分析。 PS&#xff1a;对比另外2个学习网站&#xff1a;1. UMU学习平台 &#xff1b;2. 学生安全教育平台 基于实例分析&#xff0c;体会用户体验设计的 7 条准则。二、过程 &#xff08;一&#xff09;满意的地方 1.界面符…

使用阿里云域名 服务器 Tomcat7 阿里云免费证书 Http转Https以及Https表单提交问题 搭建网站全过程及其踩的坑

一天的时间才搭完累死了! 我在这里主要记录一下,每个修改的意义.如果只是修改而不知道修改的意义我觉得下次还是不会! 云服务器本地使用Http协议访问Tomcat不用输入端口号 这里我已经在阿里云上购买了服务器及域名,并且域名已经备案. 1.登录阿里云服务器. 2.在服务器中下载…

用Teleport Ultra下载网站全部页面 爬虫

测试case&#xff0c;就是把Commons-FileUpload 的API下载来 上网查的时候我才发现这是一个由很多页面组成的网站&#xff0c;下载起来很麻烦。怎么办呢&#xff1f;呵呵&#xff0c;一定是有办法的。Teleport Ultra这个工具就能帮我们搞定&#xff01;这是一个汉化绿版的迅雷下…

网站收集

1.http://msdn.itellyou.cn/ MSDN很多工具可以下载 将地址拷贝到迅雷下载即可 2.https://visualstudiogallery.msdn.microsoft.com/a1166718-a2d9-4a48-a5fd-504ff4ad1b65 isual Studio示例代码浏览器 免费Visual Studio示例代码浏览器为开发人员提供了一个在Visual Studio 20…

大型网站的标准

大型网站的标准 问题&#xff1a;什么样的网站才能算的上大型网站&#xff1f; 答&#xff1a; 用户访问量&#xff08;优酷&#xff0c;百度&#xff09;流量大&#xff08;优酷&#xff1a;流媒体服务器搭建&#xff0c;主要技术点在于带宽&#xff09;海量数据的检索问题&am…

python爬取内容乱码_Python爬取网站返回的内容为乱码解决方法

1、爬取某网站内容时&#xff0c;返回的结果为乱码&#xff0c;如图&#xff1a;2、写在前面的解释Requests会基于HTTP头部响应的编码做出有根据的推测&#xff0c;当访问r.text时&#xff0c;Requests会使用其推测的文本编码。查看网页返回的字符集类型&#xff1a;r.apparent…

关于php留言本网站的搭建

1.检查php&#xff0c;http服务是否安装 [rootlocalhost ~]# rpm -qa | grep http httpd-tools-2.4.6-40.el7.centos.x86_64 httpd-2.4.6-40.el7.centos.x86_64[rootlocalhost ~]# [rootlocalhost ~]# rpm -qa | grep http-bash: [rootlocalhost: 未找到命令 2.检查到没有安…

axure web组件下载_04网站设计关于axure原型预览文件访问慢的原因

01背景最近发现原来的原型预览访问速度超级慢&#xff0c;这一切貌似是最近调整了下Axure原型中的几个元件&#xff0c;上传之后&#xff0c;原本访问超级快的文件&#xff0c;变的超级超级慢。02原因分析过程1、首先直接从服务器角度找原因。自认为服务器可能是宽带不够&#…

css3网站代码 html5_HTML5和css3(一)

一、什么是 HTML5HTML5 的概念与定义是一个新版本的 HTML 语言&#xff0c;定义了新的标签、特性和属性拥有一个强大的技术集&#xff0c;这些技术集是指&#xff1a;HTML5 、CSS3 、javascript, 这也是广义上的 HTML5定义&#xff1a;HTML5 定义了 HTML 标准的最新版本&#x…

mysql投票网站_PHP+Mysql实现网站顶和踩投票功能实例

PHPMysql实现网站顶和踩投票功能实例&#xff0c;通过记录用户IP&#xff0c;判断用户的投票行为是否有效&#xff0c;该实例也可以扩展到投票系统中。首先我们在页面上放置“顶”和“踩”的按钮&#xff0c;即#dig_up和#dig_down&#xff0c;按钮上分别记录了投票的票数以及所…

openresty 交给php,openresty搭建网站防火墙

实现一个简单的防火墙,例如:当我提交一个 select * from 疑似 sql注入的参数时,则会直接被拦截下载waf配置:wget https://github.com/loveshell/ngx_lua_waf/archive/v0.7.2.tar.gz解压文件并将./config.lua,./init.lua,./waf.lua,./wafconf/*文件移动到你的项目目录例如在上篇…

学习MVC之租房网站(六)-用户登录和权限控制

在上一篇<学习MVC之租房网站&#xff08;五&#xff09;-权限、角色、用户管理>完成了权限、角色、用户的增删改查&#xff0c;现在将基于前面完成的内容&#xff0c;进行后台用户登录和权限控制功能的开发。 一、用户登录 用户登录涉及到密码的MD5校验、验证码、Session…

普通网站用双路cpu服务器,双路服务器怎么设置CPU

双路服务器怎么设置CPU 内容精选换一换云游戏场景&#xff0c;需要配置专业显卡。具体的场景典型配置如下&#xff1a;问题现象用户配置完成应用发布资源后&#xff0c;通过云堡垒机首次访问应用发布资源&#xff0c;不能正常访问。可能原因原因一&#xff1a;应用程序启动路径…

Web网站实现Google登录

一、打开谷歌控制台&#xff1a;https://console.developers.google.com/apis 二、点击创建凭据&#xff0c;如下图&#xff0c;填写项目地址等 三、创建好客户端ID和秘钥后&#xff0c;填写对应的项目网址和登录页网址 四、修改OAuth同意屏幕网站首页地址和隐私政策网址 五、代…

java如何截取网页数据_我想用java截取网站上的一条数据怎么截取不下来

展开全部苏宁的这个页面没有class"footer-bd"的&#xff0c;你换个试62616964757a686964616fe59b9ee7ad9431333337393562试&#xff0c;我试了下"footer-bom",这个就能拿到,你测试下&#xff1f;附测试代码&#xff1a;import java.io.BufferedReader;impo…

根据网站错误页面判断服务器和系统服务

判断容器 随便找一个网站&#xff0c;比方说这个&#xff1b;https://777kuu.com/ &#xff0c;在网址后面加上不可能存在的东西&#xff0c;比方说&#xff1a;https://777kuu.com/123.jpg ,让他暴露错误信息 像这样白底黑字加红字的就是windows 2008 R2 IIS7.5或IIS7.0 像…