listener监听

news2024/9/9 0:40:07

背景: 过滤器代码也可实现接口请求次数统计,但会影响过滤器本意;故在dispatcher servlet层进行监听统计

价值: 所有接口的次数统计可适用于系统全天访问量; 单个请求接口的次数统计可在企业中根据接口次数的高低,可分析出接口对应的功能受用户的喜好程度

请求通过过滤器到了servlet,通过mapping中集合调controller;然后controller将请求次数返回,所以不能将请求销毁,listener随着项目启动,但请求进来后才会去统计

步骤

  1. 查看源码类-->拿源码类的方法复写,使用ServletRequestEvent方法得到客户端请求
  2. 初始化-得到客户端请求-靠httpServletRequest;
  3. 得到接口地址和请求方法,请求的参数,得到key和value值
  4. 将请求的URL作为键,请求次数作为值存储在一个Map中,并且每次请求时将该URL对应的请求次数加1。(如果该URL已经存在在Map中,则更新该URL对应的请求次数加1;如果该URL不存在,则将该URL和请求次数1存储在Map中。)

hashtable时多线程安全的,多线程是排队,有序的进程,多个线程频繁压这个项目,所以安全期间用hashtable

hashmap多线程不安全,多个线程不排队,一开门就全部可以进入

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

common-intellisense:助力TinyVue 组件书写体验更丝滑

本文由体验技术团队Kagol原创~ 前两天,common-intellisense 开源项目的作者 Simon-He95 在 VueConf 2024 群里发了一个重磅消息: common-intellisense 支持 TinyVue 组件库啦! common-intellisense 插件能够提供超级强大的智能提示功能&…

c生万物系列(职责链模式与if_else)

从处理器的角度来说,条件分支会导致指令流水线的中断,所以控制语句需要严格保存状态,因为处理器是很难直接进行逻辑判断的,有可能它会执行一段时间,发现出错后再返回,也有可能通过延时等手段完成控制流的正…

skynet 实操篇

文章目录 概述demo启动文件skynet_start配置文件main.luastart函数thread_workerskynet_context_message_dispatchskynet_mq_popdispatch_message 小结 概述 上一篇写完skynet入门篇,这一篇写点实操性质的。 demo 对于一个开源框架,大部分都有他们自己…

《Linux运维总结:基于x86_64架构CPU使用docker-compose一键离线部署zookeeper 3.8.4容器版分布式集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、部署背景 由于业务系统的特殊性,我们需要面对不同的客户部署业务系统&#xff0…

C++客户端Qt开发——界面优化(美化登录界面)

美化登录界面 在.ui中拖入一个QFream,顶层窗口的QWidget无法设置背景图片,套上一层QFrame将背景图片设置到QFrame上即可 用布局管理器管理元素:用户名LineEdit,密码LineEdit,记住密码ComboBox,登录Button…

ubuntu2204安装elasticsearch7.17.22

下载安装 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.22-amd64.deb wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.22-amd64.deb.sha512 shasum -a 512 -c elasticsearch-7.17.22-amd64.deb.sha512 su…

web、http协议、apache服务、nginx服务

web基本概念和常识 概念 web:为用户提供的一种在互联网上浏览信息的服务,是动态的、可交互的、跨平台的和图形化的; 为用户提供各种互联网服务,这些服务包括浏览服务以及各种交互式服务,包括聊天、购物等&#xff1…

windows下,pyrouge安装教程

1.安装perl 1.1 在命令行,检查perl是否安装 perl-v 1.2 安装perl 下载地址 Strawberry Perl for Windows - Releases 1)下载msi版本 2)双击安装包,傻瓜式安装,一路next,(可修改安装路径&am…

Matlab编程资源库(16)数值微分

一、数值差分与差商 在Matlab中,数值差分与差商是数值分析中常用的概念,尤其在求解微分方程、插值、逼近等领域有广泛应用。下面简要介绍这两个概念及其在Matlab中的实现。 数值差分 数值差分是微分运算的离散化形式,用于近似求解导数。给定…

宠物浮毛空气净化器真的有用吗?性价比高的浮毛空气净化器推荐

作为一位5年资深铲屎官,随着养猫的家庭数量不断增加,轻松撸猫虽然很快乐。然而,宠物的存在也可能引发一些问题,比如宠物的体味和脱落的毛发,这些都可能成为影响家庭健康的隐患。特别是宠物排泄物的气味,如果…

C++11中的右值引用以及移动构造等

目录 一、右值引用 1.左值引用和右值引用 2.左值引用与右值引用比较 3.右值引用使用场景和意义 1️⃣ 传返回值 2️⃣ STL中的应用 4.完美转发 模板中的&& 万能引用(引用折叠) 二、 新的类功能 1.默认成员函数 2.类成员变量初始化 3.…

【找到字符串中所有字母异位词】python刷题记录

R2-滑动窗口篇 滑动窗口哈希表 和之前那道一样 http://t.csdnimg.cn/dpIbt class Solution:def findAnagrams(self, s: str, p: str) -> List[int]:#返回字典记录了每个字符出现的次数counter1collections.Counter(p)#滑动窗口记录counter2即可ret[]num2len(s)num1len(p…

VIM基础配置

1. CTAGS配置 下载 上传虚拟机,解压,进入目录 tar -xzvf ctags-5.8.tar.gz cd ctags-5.8/编译 ./configure sudo make sudo make install查看是否安装成功 ctags --version打印如下 2. 使用Vundle 下载 git clone https://github.com/VundleVim/Vund…

如何将WordPress文章中的外链图片批量导入到本地

在使用采集软件进行内容创作时,很多文章中的图片都是远程链接,这不仅会导致前端加载速度慢,还会在微信小程序和抖音小程序中添加各种域名,造成管理上的麻烦。特别是遇到没有备案的外链,更是让人头疼。因此,…

2024下《系统架构设计师》案例简答题,刷这些就够了!

2024年软考下半年已经越来越近了,不知道今年备考架构的同学们准备得怎么样了呢? 简答题一直是架构拿分的重点区域,对于许多考生来说,也往往是最具挑战性的部分。今天我就把那些重要的案例简答题类型整理汇总给大家,希望…

C++选择题带答案

1.下列关于定义一个指向double型变量的指针,正确的是( B )。 A.int a(5);double *pda; B.double d(2.5),*pd&d; C.dou…

uniapp时间戳转时间

时间戳转时间 utils页面 function timestampToTime(time) { const date new Date(time); const year date.getFullYear(); const month String(date.getMonth() 1).padStart(2, 0); // 月份从0开始,所以要加1,并补齐0 const day String(date…

系统架构师考点--系统架构设计(下)

大家好。今天总结一下系统架构设计的最后一部分知识点。 一、软件系统的质量属性 软件系统的质量属性 软件系统的质量属性可分为开发期质量属性和运行期质量属性2个部分。 1、开发期质量属性主要指在软件开发阶段所关注的质量属性,主要包含6个方面: …

联想电脑怎么重装系统_联想电脑U盘重装win10详细图文教程

联想电脑怎么重装系统?在当今科技发展迅猛的时代,联想电脑已经成为了人们生活中不可或缺的一部分。然而,随着时间的推移,我们可能会遇到一些问题,例如系统崩溃或者需要更换操作系统。这时,使用U盘来重新安装…

57页PPT智慧水利数字孪生综合解决方案

实现“全局一盘棋”的智慧水利综合管理,关键在于整合水利大数据、数字孪生与人工智能技术,通过“一图、一库、一平台”的构建,为水利工作提供全面、科学、智能的管理和决策支持。以下是对这一目标的详细解读和实现路径: 知识星球…