关于检测应用中的session 监听

Appium自动化测试中应用异常退出检测:多策略监控与实战实现 在移动应用自动化测试领域,稳定性是衡量测试框架成熟度的关键指标。其核心原理在于对被测应用生命周期的持续监控,通过主动探测应用状态来确保测试流程的可靠性。这项技术的核心价值在于将模糊的“脚本执行失败”转化为精准的“应用崩溃诊断”,从而显著提升问题排查效率。典型的应用场景包括长时间运行的稳定性测试、复杂交互后的状态验证以及CI/CD流水线中的自动化质量关卡。本文聚焦于**Appium**框架,深入探讨如何通过组合**Session状态监听**、**系统进程轮询**与**日志实时分析**等多维度策略,构建一套健壮 阅读详情

我们客户也有提出这样需求的。废话少说,既然有需求,咱就暂且实现,反正不难:

 

实现HttpSessionListener接口:

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

public class LocalSessionListener implements HttpSessionListener{

    public void sessionCreated(HttpSessionEvent event) {
        HttpSession session = event.getSession();
        if(session != null) {
            Constants.addCountOnLine();
            System.out.println("在线人数:"+Constants.getCountOnLine());
        }
       
    }

    public void sessionDestroyed(HttpSessionEvent arg0) {
        Constants.addCountOnLine();
        System.out.println(Constants.getCountOnLine());
    }
   
}

 

据说这种方式会有点问题,比如用户可能已经登出系统,或者session超时等等,这些方面都不足畏惧。我们用一个静态的对象属性关联:

public class Constants {
    public static int countOnLine = 0;

    public static int getCountOnLine() {
        return countOnLine;
    }

    public synchronized static void addCountOnLine() {
        countOnLine++;
    }

    public static synchronized void subtractCountOnLine(){
        countOnLine--;
    }

}
现在看到的仅仅是通过这个监听进行处理,在我们的系统中,可以加上一个退出处理(如:点击退出按钮,或者在用户直接关闭浏览器的时候,我们都可以调用脚本中的onunload事件触发),再通过ajax方式实现对这个这个静态对象属性的处理。

 

关于这个监听的配置:

在你的application种的web.xml中加上这一段就好了:

  <listener>
      <listener-class>com.yourcompany.web.listener.LocalSessionListener</listener-class>
  </listener>

好了,现在可以测试了,如果你使用tomcat的话,你可以在tomcat的http://localhost:8080/manager/html中看到你的项目中登陆的sessiion数跟我们打印出来的是一样的!!

处理Stripe支付中用户退出流程的详细指南 本文介绍了在Django应用中处理Stripe支付过程中用户退出行为的解决方案。当用户在支付页面点击返回按钮时,系统会重定向到预设的cancel_url页面,但不会触发Webhook事件。文章详细说明了如何通过检查会话状态来记录用户退出事件,并利用checkout.session.expired事件处理过期支付会话。这种双管齐下的方法既能提升用户体验,又能确保业务逻辑的完整性和数据一致性,为开发者提供了完整的处理方案。 阅读详情

相关推荐

TwinCAT 3 实战:手把手教你用PLC和C++读写第三方伺服驱动器的CoE参数

本文详细介绍了在TwinCAT 3环境中通过PLC和C++两种技术路线实现对第三方伺服驱动器CoE参数的精准操控。从环境准备到具体实现,包括硬件配置、核心函数使用及性能优化策略,为工程师提供了全面的实战指南。特别针对CoE参数访问的效率和稳定性问题,给出了实用的调试技巧和异常处理方案。

weixin_33743248的博客 445

【Shiro】shiro的Session管理

【Shiro】shiro的Session管理1. Session管理介绍2. JavaSE环境下3. JavaEE环境下4. Session监听5. Session检测 1. Session管理介绍 shiro作为⼀款安全管理框架,对状态保持有很强的需要。 ⽐如最常⽤的⽤户认证,就必需状态的保持,以及其他的⼀些功能实现的需要。 【shiro需要:认证中的 记住我中的⽤户名 正式登陆的⽤户名 】 【 开发者需要:其他功能中需要存⼊session的值 】 shiro提供了⼀整套session管理⽅案. 1. s

来日浅谈的博客 2180

wsl2 配置ubuntu 固定ip

wsls ubuntu 设置固定ip

musk1212的博客 2618

监听器

监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。 Java Web开发中的监听器(listener)就是application、session、request三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件,如下所示: 监听器可以用来检测网站的在线人...

weixin_33905756的博客 73

Pascal Context数据集实战:从安装到格式转换的完整指南

本文提供了Pascal Context数据集的完整实战指南,从安装配置到格式转换的详细步骤。Pascal Context是计算机视觉领域重要的语义分割数据集,包含540个精细标注类别。文章涵盖数据集下载、环境配置、预处理技巧和常见问题解决方案,帮助开发者高效利用这一数据集进行场景理解任务。

weixin_30216561的博客 616

如何免费快速的部署一个自用免VIP的自动追剧工具!NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能(支持Windows,群晖nas,飞牛nas,软路由,服务器等Docker快速部署)

追剧党狂喜!豆瓣追剧神器,自动添加云盘,自动下载,微信通知,一键搞定!

XiaoqiangClub的博客 4584

Servlet过滤器、编码过滤、Servlet监听器

目录 过滤器 简介 编码过滤 登录检测 Servlet监听器 对Servlet上下文监听 对session监听 Servlet一共分为三类:基础Servlet、过滤器、监听器。 过滤器 简介 过滤器的本质在于过滤所有的非法操作,而且所有的过滤需要自动实现过滤操作。想要在WEB中实现过滤器,需要一个专门的程序类,这个类需要去实现javax.servlet.Filter接口,这个接口里面定义有三个方法: 初始化:publicvoidinit(FilterConfigfilter...

57 264

【脑电信号】脑电信号EEG形态学滤波处理【含Matlab源码 4023期】

脑电信号EEG形态学滤波处理 完整的代码,包运行;运行操作视频见优快云资源!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 823

java session过期跳转_Session过期后自动跳转到登录页面的实例代码

最近做了一个项目其中有需求,要实现自动登录功能,通过查阅相关资料,打算用session监听来做,下面给大家列出了配置监听器的方法:1.在项目的web.xml文件中添加如下代码: 监听器路径 2.编写java类。public class SessionListener implements HttpSessionListener {public void sessionCreated(HttpSes...

weixin_39619433的博客 645

036、算子映射:如何将ONNX算子映射到NPU硬件指令?

《算子映射:ONNX到NPU的转换艺术》 本文深入探讨了将ONNX算子映射到NPU硬件指令的技术挑战与实践经验。作者通过真实案例揭示了映射过程中的常见陷阱,如Reshape算子被错误映射导致分类错误。文章详细分析了三种映射策略(直接映射、拆分映射和融合映射),并强调映射表在编译器中的核心作用。特别针对动态形状、精度对齐等难题提供了解决方案,分享了编写映射表时的实用铁律,包括先优化后映射、严格单元测试等。最后指出,成功的算子映射需要在数学语义、硬件约束和性能优化之间找到精确平衡,这种看似枯燥的工作实则决定着N

m0_50546716的博客 191

【unity知识】最新的虚拟相机Cinemachine3简单使用介绍

本文介绍了Unity中Cinemachine 3虚拟相机系统的使用方法。相比旧版本,新版功能更强大且参数分类更直观。文章详细讲解了摄像机镜头参数、旋转控制(包括None、目标跟随、样条线推拉、旋转追随等6种模式)和位置控制(跟随、样条轨道、硬锁定等5种模式)。重点演示了样条轨道摄像机的创建与配置,以及如何实现第一人称和第三人称视角。通过丰富的GIF图示,展示了各种模式的运行效果,帮助用户快速掌握Cinemachine 3的核心功能。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 866

session过期,处理ajax请求,使其重新登录

在session的filter中增加,当发现是过期的情况,如果是ajax请求,则写回一些信息 //session过期,如果是 AJAX请求,就写回SESSIONSTATE:0 if(request.getHeader("x-requested-with")!=null && request.getHeader("x-requested-with").equalsIgno

漫步 5114

YOLOv13:目标检测的全面攻略与实战指南

本文是关于 YOLOv13 的全攻略文章。先回顾 YOLO 系列发展,点明 YOLOv13 在该系列中的创新地位,阐述其基于 HyperACE、FullPAD 和轻量级卷积替换等技术的独特优势。深入剖析各核心技术原理,通过与其他版本及实际场景对比展现其性能优势。介绍项目结构与使用方式,分享数据增强、锚框优化等实用技巧,并列举安防监控、自动驾驶等领域应用案例。最后总结 YOLOv13 价值,展望目标检测技术未来发展趋势,为读者提供全面的 YOLOv13 学习与实践指导。

邓邓子的博客 3434

Tomcat 源码分析 (Tomcat的Session管理之管理过期Session) (十二)

过期Session的管理

959 760

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

微服务: 4 -- zookeeper session机制、watcher和acl权限控制

zookeeper session机制、watcher和acl权限控制zookeeper session机制zookeeper watcheracl(access control lists)权限控制 zookeeper session机制 用于客户端与服务端之间的连接,可设置潮湿时间,通过心跳包的机制(客户端向服务器端ping包请求)检查心跳结束,session就过期 session过期的时候,该session创建的所有临时节点就会被抛弃 zookeeper watcher 对节点的watcher操

qq_34220643的博客 203

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

关于捕捉session 过期并弹出对话框提示的问题

关于捕捉session 过期并弹出对话框提示的问题

毁&灭 1834

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

小记:web安全测试之——固定session漏洞

今天因为项目背景需要,需要检测web接口是否一些安全隐患。 无奈于从未掌握有系统的渗透性知识,只好根据个人对网络协议和 web 的理解,做一些探索,最终发现了一个session fixation attacks漏洞。 场景回顾: 使用抓包工具监听业务的登录登出接口,发现登录后的 JSESSIONID 为 A,登出后的 JSESSIONID 仍然为A; 比如 header 里面部分是这样的 Cook...

weixin_30565199的博客 594

android action_media_button,始终接收所有Android媒体按钮事件的回调(即使其他应用正在播放音频)...

Background Info: 我需要检测用户何时按下大多数耳机上的播放/暂停按钮(KEYCODE_MEDIA_PLAY_PAUSE) .我拥有它主要使用MediaSessions,但当另一个应用程序开始播放音频时,我停止回调 .这似乎是因为正在播放音频的应用创建了自己的MediaSession,而Android仅将KeyEvents发送到最新的MediaSession . 为了防止这种情况,我...

weixin_34052916的博客 1275

sessionlistener的鸡肋dwr

最近因为业务需要,需要给系web系统加了个session过期的监听功能,下面是代码: web.xml配置:  &lt;session-config&gt;         &lt;session-timeout&gt;10&lt;/session-timeout&gt;  &lt;/session-config&gt; listener代码: public class SessionList...

yibo_java的博客 295

会话管理的超时设置,超时后页面自动跳转到user_login.jsp---sqringmvc项目+maven+jsp+spring

/只需要设置足够长的会话超时的session时间就OK 这里是300=====五分钟。session的超时时间的设置 session是一旦服务器启动,就创建server与client的连接的。如果没啥需要执行的通知类的代码, 这里没必要写过多代码,也可以不写这一块代码。建立SessionListener 集成 http的监听器的接口去。这一块就是我们的每时每刻在监听session的监听器的内容执行者。该监听器会在session建立与摧毁是被启用的。(2)session的监听器的内容执行者。

m0_64576019的博客 290

java spring写一个网站_Javaweb用Spring写一个Listener:

展开全部用户登陆30分钟没有操作退出到登陆页面,这不是session可以验证得62616964757a686964616fe59b9ee7ad9431333337623534到吗?为什么还要用监听器来监听呢?当前段请求后端数据的时候通过拦截器就可以验证出来。监听器使用如下:web.xml添加如下代码:com.cqtw.its.listener.ApplicationListener增加CheckU...

weixin_35617554的博客 115

JavaWeb-实现多ip、异地 同时登录踢人下线

并销毁这个Session(调用invalid()方法).此时前一个登录者再刷新页面时发现Session已经不存在了,配合先前做的Session过期过滤处理,就会和Session过期有一样的效果——下线.loginedIp = (String)session.getAttribute(ESessionKey.LoginIP.key);//登录请求时填写的。

2401_84047990的博客 589

tomcat如何部署.net程序_Host容器:Tomcat如何实现热部署和热加载?

从这一期我们开始学习 Tomcat 的容器模块,来聊一聊各容器组件实现的功能,主要有热部署热加载、类加载机制以及 Servlet 规范的实现。最后还会谈到 Spring Boot 是如何与 Web 容器进行交互的。今天我们首先来看热部署和热加载。要在运行的过程中升级 Web 应用,如果你不想重启系统,实现的方式有两种:热加载和热部署。那如何实现热部署和热加载呢?它们跟类加载机制有关,具体来说就是:...

weixin_39942492的博客 1020

java如何做到不能同时登陆_[转帖]java中如何实现同一账号不能同时登录

经过两天的研究,下面给两个方法.不个是webwork版本的,一个是修改过后的网上的意见监听器版本的(一)首先先上自己的研究成果1:首先在baseAction 中或者直接在action中写一个方法,和一个静态map(保存唯一的session)静态mapJava代码 privatestaticMaphttpssessionmap=newHashtable();//避免重复登录private st...

weixin_36098237的博客 851

除了systemPreferences.getMediaAccessStatus,Electron还有哪些你不知道的权限检测API?

本文深入探讨Electron权限管理体系,不仅涵盖基础的麦克风和相机权限检测,还详细介绍了系统偏好级、浏览器会话级和内容设置级权限的全方位解决方案。通过实战代码示例,帮助开发者掌握高级权限管理技巧,构建更安全可靠的跨平台桌面应用。

weixin_29305313的博客 381

servlet监听对session监听器

<br />关键字: servlet监听器使用 Servlet监听器对Session监听的方法如下: <br />1.HttpSessionListener <br />public void sessionCreated(HttpSessionEvent se):创建 <br />public void sessionDestroyed(HttpSessionEvent se):销毁 <br /><br />2.HttpSessionAttributeListener <br />public void

kangojian的专栏 3436
上一篇: 使用P3P解决IE跨域session丢失
下一篇: 客户端测试jndi远程连接出现的异常:Root exception is java.rmi.ConnectIOException解决!
Williams_bzd
博客等级 码龄19年 15粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值