Java之Listener
Java之Listener
Listener监听器
监听器有很多种,大部分还是在GUI用的比较多,这里简单记录一点关于HttpSessionListener的
统计session count Listener。主要通过ServletContext上下文来存储session count,在listener中create和destroyed方法实现session count的逻辑,主要是将ServletContext作为第三方来进行session count值的存储与改动。通过jsp中application对象get上下文属性来获取count值实现实时显示session的数量。
public class OnlineCountListener implements HttpSessionListener {
//创建session监听
//一旦创建session就会触发该事件
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
System.out.println(httpSessionEvent.getSession().getId());
//每次有session创建,代表用户数量+1
HttpSession session = httpSessionEvent.getSession();
//获取上下文,将人数OnlineCount存入上下文中方便读写
ServletContext sct = session.getServletContext();
Integer OnlineCount = (Integer) sct.getAttribute("OnlineCount");
if (OnlineCount==null){
OnlineCount = new Integer(1);
}else {
int count = OnlineCount.intValue();
OnlineCount = new Integer(count+1);
}
//数值通过属性存入上下文中
sct.setAttribute("OnlineCount", OnlineCount);
}
//销毁session监听
//一旦销毁session就会触发该事件
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
//每次有session创建,代表用户数量+1
HttpSession session = httpSessionEvent.getSession();
//获取上下文,将人数OnlineCount存入上下文中方便读写
ServletContext sct = session.getServletContext();
Integer OnlineCount = (Integer) sct.getAttribute("OnlineCount");
if (OnlineCount==null){
OnlineCount = new Integer(0);
}else {
int count = OnlineCount.intValue();
OnlineCount = new Integer(count-1);
}
//数值通过属性存入上下文中
sct.setAttribute("OnlineCount", OnlineCount);
}
}
web.xml配置Listener
<listener>
<listener-class>com.zh1z3ven.listener.OnlineCountListener</listener-class>
</listener>
Index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>OnlineCount</title>
</head>
<body>
<h2 align="center">当前在线人数为:<span><%= application.getAttribute("OnlineCount")%></span></h2>
</body>
</html>


Java之Listener的更多相关文章
- JAVA监听器Listener
JAVA监听器Listener 一. 简介 监听器用于对web中内置对象的状态或者属性变化进行监听并做出相应响应的一种Servlet;在内置对象的生命周期中,产生.销毁等状态发生变化时,监听器就会进行 ...
- Java监听器listener的介绍
Java监听器listener的介绍 listener 能做什么 当web中某些动作发生之后,服务器就调用listener中对应的方法. 内部机制 接口回调 Web监听器 步骤 创建需要的监听器类,实 ...
- 【Servlet】Java Serlvet Listener 监听器
Listener监听器 Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理 容器产生的事件分类 - 生命周期相关的事件 - 设置和删除Attribute数据 ...
- java web Listener的简单使用案例
1.web.xml的配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi= ...
- Java监听器Listener使用说明
转载:http://blog.csdn.net/meng2602956882/article/details/13511587 1.什么是Java监听器 监听器也叫Listener,是Servlet的 ...
- Java监听器Listener使用详解
监听器用于监听web应用中某些对象.信息的创建.销毁.增加,修改,删除等动作的发生,然后作出相应的响应处理.当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法.常用于统计在线人数和在线用 ...
- Java监听器Listener的使用详解
监听器用于监听Web应用中某些对象的创建.销毁.增加,修改,删除等动作的发生,然后作出相应的响应处理.当监听范围的对象的状态发生变化的时候,服务器自动调用监听器对象中的方法.常用于统计网站在线人数.系 ...
- java高级 - java利用listener实现回调,即观察者模式
https://blog.csdn.net/lin_sir6/article/details/70052954
- java监听器(Listener)学习笔记
现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次, ...
随机推荐
- mac系统终端sudo免输入密码
p.p1 { margin: 0; font: 12px ".PingFang SC" } p.p2 { margin: 0; font: 12px "Helvetica ...
- Flask(10)- 标准类视图
前言 前面文章讲解 Flask 路由的时候,都是将 URL 路径和一个视图函数关联 当 Flask 框架接收到请求后,会根据请求 URL,调用响应的视图函数进行处理 Flask 不仅提供了视图函数来处 ...
- NFS共享存储服务
NFS共享存储服务 一.NFS共享 1)NFS(Network File System)网络文件系统 ...
- PLICP
介绍 PLICP相比较于普通ICP算法,使用点线之间的距离作为度量,最终找到一个最小化该度量的闭式解(解析解). 最优结果以平方的速度收敛.相比较于ICP,IDC,MBICP.PLICP更加准确,且需 ...
- 【LeetCode】59.螺旋矩阵II
59.螺旋矩阵II 知识点:数组: 题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . 示例 输入:n = 3 ...
- 理解并掌握Promise的用法
前沿: Promise在处理异步操作非常有用.项目中,与后端进行数据请求的时候经常要用到Promise.我们可以用promise + xhr进行ajax的封装.也可以使用基于promise封装的请求 ...
- sql server2016安装网址
https://www.microsoft.com/zh-cn/download/details.aspx?id=54284 SQl server 2008 附加数据库失败如何解决: https:// ...
- HCNA Routing&Switching之OSPF度量值和基础配置命令总结
前文我们了解了OSPF的网络类型,OSPF中的DR和BDR的选举规则.作用等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15054938.html: ...
- 什么是jstl表达式,怎么应用
1.介绍 JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能.jstl出现的目的同el一样也是要代替jsp页面中的脚 ...
- js 正序、倒序、按字段排序方法
js 基础--sort方法: arrayObject.sort(sortby); 参数:定义排序规则(正序.倒序.按字段排序)的函数: 返回值:对数组的引用.请注意,数组在原数组上进行排序,不生成副本 ...