Listener监听器

Listener监听器概述

Web应用在Web容器中运行时,Web应用内部会不断地发生各种事件:如Web应用被启动、Web应用被停止,用户session开始、用户session被结束、用户请求到达等。Servlet API提供很多监听器来监听Web应用的内部事件,从而允许当Web内部发时回调事件监听器内的方法。

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

Servlet规范为每种事件监听器定义了相应接口,编写事件监听器时只要实现这些接口即可。有些事件监听器要在web应用的web.xml中注册才能发布,web.xml文件中可以注册多个Servlet事件监听器。web服务器按它们在web.xml中的注册顺序加载这些事件监听器。事件监听器的注册和调用都由web容器自动完成的,当发生被监听对象被创建、修改和销毁等事件时就会调用相应的事件监听对象的相应方法,执行用户在这些方法中编写的事件处理代码。一个web应用只为每个事件监听类创建一个实例对象,这样就可能发生 多个线程同时调用一个事件监听对象的情况,造成多线程安全问题。

监听器种类

按监听器对象不同Servlet2.4规范定义的事件有三种:

  • 用于监听应用程序环境对象(ServletContext)的事件监听器
  • 用于监听用户会话对象(HttpSession)的事件监听器
  • 用于监听请求消息对象(ServletRequest)的事件监听器


按监听事件类型可分为:
1.用于监听域对象自身的创建和销毁的事件监听器
2.用于监听域对象中的属性的增加和删除的事件监听器
3.用于监听绑定到HttpSession域中的某个对象的状态的事件监听器


常用web事件监听器接口

  • ServletContextListener:用于监听web应用的启动和关闭
  • ServletContextAttributeListener:用于监听ServletContext范围(application)内属性的改变
  • ServletRequestListener:用于监听用户
  • ServletRequestAttributeListener:用于监听ServletRequest范围(request)内属性的改变
  • HttpSessionListener:用于监听HttpSession的开始和结束
  • HttpSessionnAttributeListener:用于监听HttpSession范围(session)内属性的改变


使用监听器

未完,待续 … …

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值