Listener简单概述
来源:互联网 发布:手机app软件下载 编辑:程序博客网 时间:2024/05/22 14:12
Listener:
监听器,它用于监听Java Web程序中的事件
Listener主要对Session,request,context进行监控
Listener的使用需要去实现相应的Listener接口,在应该触发Listener事件的时候,Tomcat会自动调用Listener方法
SessionListener:
public class SessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent se) {
//这个方法在Session被创建的时候会调用
HttpSession session = se.getSession();
System.out.println("创建一个session:"+session);
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
//session被销毁的时候调用这个方法
HttpSession session = se.getSession();
System.out.println("销毁了一个session:"+session);
}
}
接下来在web.xml当中要做相应的配置
<listener>
<listener-class>com.xiaoxie.listener.SessionListener</listener-class>
</listener>
<listener>标签一般是配置在<servlet>标签之前
在一个web.xml当中是可以配置多个listener的
Listener分类:
1,监听对象的创建和销毁
HttpSessionListener,ServletContextListener,ServletRequestListener分别用于监听Session,Context,Request的创建和销毁
HttpSessionListener:
sessionCreated(HttpSessionEvent se)在创建session时会执行
sessionDestoryed(HttpSessionEvent se)在session超时或调用session.invalidate()时会执行
ServetContextListener:
Context代表了当前的应用程序
contextInilitialized(ServletContextEvent event):服务器启动或热部署war包时执行
contextDestroyed(ServletContextEvent event):服务器关闭或者只关闭web时执行
ServletRequestListener:
requestInitialized(ServletRequestEvent event):每次请求都会执行
requestDestoryed(ServletRequestEvent event):request处理完毕自动销毁前执行
注意:如果请求的html中含有多个图片的话则会在一次html请求中触发多次request事件
Java中类是可以实现多接口的,这样的话则一个类可以实现多个Listener接口
2,监听对象的属性变化:
这个是用来监听Session,Context,Request的属性变化的,接口名称格式是xxxAttributeListener
HttpSessionAttributeListener,ServletContextAttributeListener,ServletRequestAttributeListener
当对象中添加,更新,移除属性时会调用类似如下的方法
attributeAdded(),attributeReplaced(),attributeRemoved()
3,监听Session内的对象
它有两种Listener,分别是HttpSessionBindingListener和HttpSessionActivationListener
HttpSessionBindingListener:
valueBound(HttpSessionBindingEvent event):当对象被放到Session中去的时候会执行
valueUnbound(HttpSessionBindingEvent event):当对象被从Session中移除的时候会执行
HttpSessonActivationListener:
sessionWillPassivate(HttpSessionEvent se):在Session中内容钝化时执行
注意:钝化就是指的服务器关闭的时候会把Session中的内容存到硬盘中去
sessionDidActivate(HttpSessionEvent se):在服务器重新启动时,session对象被重新加载的时候
- Listener简单概述
- JavaWeb中的Listener概述
- Servlet、Filter和Listener概述
- Servlet Listener 简单示例
- Listener监听器简单使用
- 简单的listener和listener文件配置
- Filter Listener 概述 原理 执行流程
- Filter+Listener的简单使用
- Spring Boot的listener简单使用
- Listener的简单介绍及使用
- listener
- Listener
- Listener
- listener
- Listener
- LISTENER
- listener
- Listener
- 《数据结构》实验四 字符串和多维数组 实验
- Some goals of the year
- HDU 2255 奔小康赚大钱(二分图的最大带权匹配 裸的KM算法)
- [Leetcode]Multiply Strings
- DFS 之 poj 2386 Lake Counting
- Listener简单概述
- DTD学习笔记
- 安装SEP时报Error 997:重叠I/O操作在进行中
- [LeetCode] Same Tree
- ANDROID开发之SQLite详解
- 图像匹配
- Hash Collisions (The Poisoned Message Attack) "The Story of Alice and her Boss"
- RedHat使用sudo出错
- c++ vector 释放内存