Web 监听器
什么事web 监听器?
- Servlet规范中定义的一种特殊类
- 用于监听ServletContext、HttpSession和ServletRequest等象的创建与销毁的事件
- 用监听域对象的属性发生修改的事件
web 监听器的常见用途:
- 统计在线人数和在线用户
- 系统启动时加载初始化信息
- 统计网站访问量
- 跟Sring结合
配置web监听器:
- 创建一个实现监听接口的类
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class FirstListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("context Destroyed!");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("context Initialized!");
}
}
- 配置web.xml进行注册
<!-- 注册web监听器 -->
<listener>
<listener-class>com.cgj.spring.mvc.listener.FirstListener</listener-class>
</listener>
web监听器的启动顺序:
- 一个web.xml中多个监听器,按注册的顺序启动
- 加载优先级:监听器 > 过滤器 > Servlet
web监听器的分类:
- 按监听的对象划分:
监听应用程序环境对象(ServletContext)的事件监听器
监听用户会话对象(HttpSession)的事件监听器
监听请求消息对象(ServleRequest)的事件监听器
- 按监听的事件划分:
监听域对象自身的创建和销毁的事件监听器
ServletContextListener:编写定时器、加载全局属性对象
HttpSessionListener:统计在线人数、记录访问日志
ServleRequestListener:读取请求参数、记录访问历史
监听域对象的属性增加和删除的事件监听器
方法:attributeAdded,attributrRemoved,attributeReplaced
接口:ServletContextAttributeListener、HttpSessionAttributeListener、ServletRequestAttributeListener
监听绑定到HttpSession域中的某个对象的状态的事件监听器(不需要在web.xml中注册,只需在对应类中实现相应的接口)
HttpSessionBinDingListener:
绑定:valueBound方法
解除绑定:valueUnbound方法
HttpSessionActivationListener(钝化和活化需要实现Serializable接口)
钝化:sessionWillPasivate方法
活化:sessionDidActivate方法
Servlet3.0下的监听器的用法:
不需要在web.xml中注册只需要在,监听器的类上边加一个注解@WebListener("describe info");
弊端:无法定义监听器的顺序,需要tomcat1.7及以上,jdk1.6及以上
Web 监听器的更多相关文章
- 在自定义的web监听器中嵌入web中的定时事件
在 http://www.cnblogs.com/myadmin/p/4806265.html 中说明了自定义web监听器的一些东西. 本文中的web定时任务也基于上篇文章的自定义web监听器. 新建 ...
- Web监听器导图详解(转)
阅读目录 Web监听器 监听器的分类 Servlet版本与Tomcat版本 getAttribute与getParameter的区别 参考 监听器是JAVA Web开发中很重要的内容,其中涉及到的知识 ...
- java Web监听器导图详解
监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图: Web监听器 1 什么是web监听器? web监听器是一种Servlet中的特殊的类,它们能帮助开发者监听web中的特 ...
- Web监听器导图详解
监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图: Web监听器 1 什么是web监听器? web监听器是一种Servlet中的特殊的类,它们能帮助开发者监听web中的特 ...
- Listener(Web监听器、活化、钝化)
Web监听器 总共有8个 划分成三种类型 定义一个类,实现接口 注册 | 配置监听器 监听三个作用域创建和销毁 request -httpServletRequest session -httpSes ...
- java Web监听器实现定时发送邮件
首先介绍java定时器(java.util.Timer)有定时执行计划任务的功能,通过设定定时器的间隔时间,会自动在此间隔时间后执行预先安排好的任务(java.util. TimerTask) 由于我 ...
- java Web 监听器Listener详解
简介 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext.HttpSession和 ServletRequest这三大域对象的创建 ...
- web监听器解析
监听器是web三大组件之一,事件监听机制如下: 事件:某个事件,如果初始化上下文 事件源:事件发生的地方 监听器:一个对象,拥有需要执行的逻辑 注册监听:将事件.事件源.监听器绑定在一起.当事件源发生 ...
- 创建Java Web监听器
之前从Java web一路学习过来,一直没有学习过Servlet容器类的一些高级用法,因为学完简单的JSP以及Servlet编写之后就开始了Spring的学习 对web应用的一些常用变量进行 appl ...
随机推荐
- 【JavaScript 6—基础知识点】:正则表达式(应用)
导读:其实,我不像大家一样,从一开始就重视着正则表达式,我甚至都觉得好浪费时间浪费精力,都没用的.因为,如果我要判断是不是为数字,我可以使用Numberic()方法,如果要去空格的话,使用trim() ...
- POJ-3261 Milk Patterns,后缀数组+二分。。
Milk Patterns 题意:求可重叠的至少重复出现k次的最长的字串长. 这题的做法和上一题 ...
- iOS长按控件
前言 网上看到一个button的长按控件效果不错,一个菱形从中间向两边增大,研究了下 原理 上图红色是控件上面放了视图,从上到下分别是view,normalLable,highlightLabel,b ...
- tarkjan求无向图割点模板
#include<bits/stdc++.h> using namespace std; typedef long long ll; int n,m; ; ; struct node { ...
- NOIP[2015] 运输计划(codevs 4632)
题目描述 Description 公元 2044 年,人类进入了宇宙纪元.L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1 条航道连通了 L 国的所有星球.小 P ...
- UIApplicationDelegate详解
每 个iPhone应用程序都有一个UIApplication,UIApplication是iPhone应用程序的开始并且负责初始化并显示 UIWindow,并负责加载应用程序的第一个UIView到U ...
- 转:C#并口热敏小票打印机打印位图
最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了. 这是DEMO的窗体: 下面是打印所需要调用的代码: class LptControl { private s ...
- 深入GCD(四):使用串行队列实现简单的预加载
其主要思路是使用gcd创建串行队列,然后在此队列中先后执行两个任务:1.预加载一个viewController 2.将这个viewController推入代码如下:@implementation DW ...
- iOS 内存管理策略
内存管理策略(memory Management Policy) NSObject protocol中定义的的方法和标准命名惯例一起提供了一个引用计数环境,内存管理的基本模式处于这个环境中.NSObj ...
- maven删除不必要的依赖;优化pom依赖研究
mvn dependency:copy-dependencies -DoutputDirectory=/home/admin/git/oceanus/test 会把所有依赖的插件版本都拷贝进去,而不是 ...