servlet监听器

 
servlet监听器用于监听一些重要的事件,可以在事件发生前,后作
处理.

Listener 接口                        Event类
HttpSessionListener              HttpSessionEvent
HttpSessionActivationListener
          
HttpSessionAttributeListener     HttpSessionBindingEvent
HttpSessionBindingListener

ServletContextListener           ServletContextEvent
ServletContextAttributeListener  ServletContextAttributeEvent
ServletRequestListener           ServletRequestEvent
ServletRequestAttributeListener  ServletRequestAttributeEvent

1.HttpSessionBindingListener接口是一个唯一不需要在容器的
web.xml中设定的listener,当类实现了HttpSessionBindingListener
接口后,只要session调用setAttribute或removeAttribute的时候,
容器自动会执行valueBound()和valueUnbound()

2.HttpSessionAttributeListener接口
用于监听HttpSession中属性的操作
当在session中增加一个属性时,调用attributeAdded()方法,
修改时调用attributeReplaced()方法;
删除时调用attributeRemoved()方法;

3.HttpSessionActivationListener接口主要用于同一个session
转移到不同的JVM的情形.

4.HttpSessionListener接口
用于监听HttpSession的操作.
当创建一个session时,调用sessionCreated()方法;
当销毁一个session时,调用sessionDestroyed()方法;
可以实现 网站在线人数统计功能

1.ServletContext:ServletContext实例可以存取应用程序的
全局对象以及初始化阶段的变量.
在jsp中,application就是sevletContext的实例.在tomcat启动时
生成.
ServletContextListener监听ServletContext,
当application初始化时调用contextInitialized()方法;
当application销毁时调用contextDestroyed()方法;

2.ServletContextAttributeListener:用户监听web属性的修改
如属性的增删改.
attributeAdded()
attributeReplaced()
attributeRemoved()

3.ServletRequestListener类似ServletContextListener,
将context换成request即可

4.ServletRequestAttributeListener类似ServletContextAttributeListener
将context换成request即可

一.servlet对象的作用域
1.ServletContext(application) 服务器启动时产生,服务器关闭时销毁,作用全局,
  相当于静态变量.
2.HttpSession(session) 在客户端第一次请求时产生,session过期或退出网站销毁,
  作用域同一个客户端,相当于成员变量.
3.ServletRequest(request) 每次请求产生一个对象,请求结束时销毁,作用于同一次
  请求,相当于局部变量.
  
如何使用监听器:
a.确定事件(application,session,request)
b.写一个类,实现监听器接口,写接口中方法.
c.在web.xml中进行配置
  <listener>
     <listener-class>监听器类</listener-class>
  </listener>
d.只要触发事件,监听器就调用相应方法.


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值