JAVA WEB之listener

本文详细介绍了在Tomcat中使用Listener的方法,包括实现相应的Listener接口,配置web.xml文件,以及8种不同类型的监听器,如HttpSessionListener、ServletContextListener等的功能和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Listener需要实现相应的Listener接口,应该触发Listener时间的时候,Tomcat会自动调用Listener的方法。

一个完整的Listener包括:Listener类<listener>配置

一个web.xml中可以配置多个Listener同一个类型的Listener也可以配置多个,触发的时候服务器会顺次执行各个Listener的相应方法。

可以用一个类,实现多个监听器接口。

监听器的类型一共有8种

  1. HttpSessionListener:监听Session的创建与销毁;创建:sessionCreated()、超时或者执行session.invalidate():sessionDestroyed();
  2. ServletContextListener:监听context的创建与销毁;服务器启动或者热部署war包时执行contextInitialized()、服务器关闭:contextDestroyed();
  3. ServletRequestListener:监听request的创建与销毁;用户每次请求都会执行requestInitialized(),request处理完毕自动销毁前执行requestDestroyed()。注意:如果一个HTML页面内含有多个图片,则请求一次HTML可能会触发多次request事件。
  4. HttpSessionAttributeListener:监听向Session对象中添加、更新、移除属性;添加:xxxAdded()、跟新:xxxReplaced()、移除:xxxRemoved();
  5. ServletContextAttributeListener:监听向context对象中添加、更新、移除属性;
  6. ServletRequestAttributeListener:监听向request对象中添加、更新、移除属性;
  7. HttpSessionBindingListener:当对象被放到Session里是执行valueBound方法;当对象被从Session里移除执行valueUnbound方法。对象必须实现该Listener接口;
  8. HttpSessionActivationListener:服务器关闭时,会将Session里的内容保存到硬盘上,这个过程叫钝化。服务器重新启动时,会将Session内容从硬盘上重新加载。钝化会执行:sessionWillPassivate方法,重新加载执行:sessionDidActivate方法。对象必须实现该接口。

前6种监听器,必须在web.xml中配置,后两种不需要,只是要求对象必须实现该接口。


监听器在web.xml中的配置:

<listener>
    <listner-class>
        com.fyk.listener.ListenerTest
    </listener-class>
</listener>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值