普通的Java程序,监听其他对象身上事件的发生或状态的改变,并实现采取相关行动的方法。
- JavaWeb的监听器
Servlet中的一种特殊类,用于监听web程序中的ServletContext、HTTPSession、ServletResponse等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。
监听器的使用:实现接口,并且在web.xml中注册即可。
- Javaweb监听器的分类
1.监听三个作用域的创建<initialized()>和销毁<destroyed()>:
request--HTTPServletRequest---ServletRequestListener
创建:访问服务器任意资源
销毁:服务器做出响应
Session--HTTPSession---HTTPSessionListener
作用:统计在线人数
创建:调用session
销毁:session超时/非正常关闭
![](/qrcode.jpg)
application---ServletContext---ServletContextListener
作用:完成初始化、执行自定义任务
创建:启动服务器
销毁:关闭服务器/移除项目
2.监听三个作用域属性的变更:
ServletContext---ServletContextAttributeListener
request---ServletRequestAttributeListener
session---HTTPSessionAttributeListener
3.监听HTTPSession里存值状态的变更(这类监听器不用注册,Javabean实现该接口即可)
HTTPSessionBindingListener //绑定解绑动作
valueBound、valueUnbound
HttpSessionActivationListener //Session值得活化或钝化动作
sessionWillPassivate、SessionDidActivate
注:session会在一定时间内钝化:
tomcat --conf/context.xml----服务器
conf/catalina/localhost/context.xml---localhost
自己web工程中--meta-inf/context.xml---当前工程
<context> <manager classname="" maxIdleSwap="时间"> <store classname="" directory="存放位置"> </context>