首页 > 其他分享 >Listener(监听器)

Listener(监听器)

时间:2022-11-03 20:25:30浏览次数:66  
标签:监听器 对象 监听 Listener ServletContext Integer onlineCount

作用

监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行。

1概念

JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext、HttpSession和 ServletRequest这三大域对象的创建、销毁事件以及监听这些域对象中的属性发生修改的事件。

 监听器在GUI编程中常用!

demo体现监听器作用:

代码

package com.listener;

import jakarta.servlet.ServletContext;
import jakarta.servlet.http.HttpSessionEvent;
import jakarta.servlet.http.HttpSessionListener;
//对网站在线人数统计
public class ListenerDemo implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent se) {
//获取Session、网站的上下文
ServletContext servletContext = se.getSession().getServletContext();
//输出SessionID
System.out.println(se.getSession().getId());
//从ServletContext中取出值,默认为null
Integer onlineCount = (Integer) servletContext.getAttribute("onlineCount");
//对取出的值进行判断
if (onlineCount == null){
onlineCount=new Integer(1);
}else {
int count = onlineCount.intValue();
onlineCount=new Integer(count+1);
}
//把值添加进去
servletContext.setAttribute("onlineCount",onlineCount);
}
}

web.xml配置
<!--注册监听器-->
<listener>
<listener-class>com.listener.ListenerDemo</listener-class>
</listener>

显示页面
  <body>
<%--从ServletContext中取出name为onlineCount的值--%>
当前有<span><%=this.getServletConfig().getServletContext().getAttribute("onlineCount")%>人</span>
</body>

标签:监听器,对象,监听,Listener,ServletContext,Integer,onlineCount
From: https://www.cnblogs.com/mo-de/p/16746464.html

相关文章

  • java EE开发之Servlet第四课:监听器(Listener)
     1.什么是Listener监听器就像老板的秘书,那个秘书就是活的监听器,时时监听着老板,当老板发生一些事情的时候,秘书就会有相应的措施。比如老板口渴了,秘书就会去端茶;比如老板要......
  • 21Jmeter之监听器jp@gc - Response Times Over Time
    RT响应时间,从发起请求到完全接收到应答的时间消耗。在聚合报告中可以查看平均值,详细内容添加-监听器-jp@gc-ResponseTimesOverTime ......
  • 20Jmeter之监听器jp@gc - Active Threads Over Time
    查看不同时间的活动用户数量当前的时间间隔是1毫秒,在setting中可以设置时间间隔以及其他的参数,右击可以导出CSV文档 ......
  • 22Jmeter之监听器jp@gc - Transactions per Second
    jmeter内的聚合报告内可以看到平均吞吐量,通过jp@gc-TransactionsperSecond可以查看某时间点的吞吐量。通过更改并发数去压测,可以找出服务器的最大TPS......
  • 监听器学习
    监听器1.什么是监听器web监听器是Servlet中一种特殊的类,能帮助开发者监听Web中的特定事件,比如ServletContext,HttpSession,ServletRequest的创建和销毁;变量的创建、销毁......
  • Servlet-监听器
    右击创建监听器ListentersessionCreated会话创建的时候,执行的函数SessionDestroy会话销毁的时候,执行的函数Servlet的创建销毁监听在web.xml里面配置session有一个时效性:......
  • Spring-13-监听器
    格外加入三个依赖<!--servlet依赖--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0<......
  • 【Vue3】watch 监听器的使用
    watch的三个参数watch第一个参数,监听源watch第二个参数,回调函数cb(newVal,oldVal)watch第三个参数,一个options配置项是一个对象{immediate:true//是否......
  • drools_08_event_listener
    KieSession除了提供丰富的API外,还提供三个eventlistener,方便对于规则执行状况的监控.AgendaEventListener该接口可以监控rule被fire,所以这个listener最常用,对于......
  • Java中ServletContextListener监听器详解
    转载于http://www.51gjie.com/javaweb/875.htmlJava中ServletContextListener监听器详解ServletContextListener如果在web.xml中配置了这个监听器,那么启动容器时,就会默认......