小程序监听返回键_Javaweb之监听器

597b1c99f89697a18cd3a2454eda84d7.png

【49】

监听器基本概念

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

Servlet监听器的分类

在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为ServletContext,HttpSession和ServletRequest这三个域对象。

Servlet规范针对这三个对象上的操作,又把多种类型的监听器划分为三种类型:

  1. 监听三个域对象创建和销毁的事件监听器。
  2. 监听域对象中的属性的增加和删除的事件监听器。
  3. 监听绑定到HttpSession域中的某个对象的状态的事件监听器。

使用方法

1、创建一个普通java类实现指定的接口

1.1监听request的创建和销毁:ServletRequestListener(接口)

  • requestInitialized(ServletRequestEvent sre)
  • requestDestroyed(ServletRequestEvent sre)

形参:ServletRequestEvent可以获取当前监听到的request对象,对request对象的中的资源进行操作。

1.2监听request作用域数据的变更:ServletRequestAttributeListener(接口)

  • attributeAdded(ServletRequestAttributeEvent srae)
  • attributeRemoved(ServletRequestAttributeEvent srae)
  • attributeReplaced(ServletRequestAttributeEvent srae)

形参:ServletRequestAttributeEvent可以获取当前被监听到的request中的数据。

getName()返回监听到的数据的键和getValue()返回监听的到的数据的值。

1.3监听session的创建和销毁:HttpSessionListener(接口)

  • sessionCreated(HttpSessionEvent se)
  • sessionDestroyed(HttpSessionEvent se)

形参: 获取当前被监听到的session对象

1.4 监听session的作用域数据的变更:

  • attributeAdded(HttpSessionBindingEvent event)
  • attributeRemoved(HttpSessionBindingEvent event)
  • attributeReplaced(HttpSessionBindingEvent event)

形参:获取当前监听到的session中的数据 getName()返回数据的键名,getValue()返回数据的值

1.5监听application对象的创建和销毁:ServletContextListener(接口)

  • contextInitialized(ServletContextEvent sce)
  • contextDestroyed(ServletContextEvent sce)

形参:获取application对象

1.6监听application对象的数据的变更:ServletContextAttributeListener

  • attributeAdded(ServletContextAttributeEvent event)
  • attributeRemoved(ServletContextAttributeEvent event)
  • attributeReplaced(ServletContextAttributeEvent event)

形参:获取当前被监听的数据 getName()返回数据的键名,getValue()返回数据的值

2、在项目中的web.xml中配置监听器,让监听器生效

<listener>
  	

案例:网站在线人数统计

public 

面试题:请描述一下java事件监听机制。

1、java的事件监听机制涉及到三个组件:事件源、事件监听器、事件对象。

2、当事件源上发生操作时,它将会调用事件监听器的一个方法,并在调用这个方法时,会传递事件对象过去。

3、事件监听器由开发人员编写,开发人员在事件监听器中,通过事件对象可以拿到事件源,从而对事件源上的操作进行处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值