java ee监听器编程,java EE开发之Servlet第四课:监听器(Listener)
1.什么是Listener
监听器就像老板的秘书,那个秘书就是活的监听器,时时监听着老板,当老板发生一些事情的时候,秘书就会有相应的措施。比如老板口渴了,秘书就会去端茶;比如老板要提提神,秘书就会泡一杯咖啡等。
2.介绍java的几种常用的监听器
(1)实现ServletRequestListener接口,监听request(需要在web.xml中配置)
/**
* 当request对象被销毁的时候,容器就会自动去
* 调用这个监听器的requestDestroyed,产生一个事件对象ServletRequestEvent
*/
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("request被销毁");
}
/**
* 当request对象被创建的时候,容器就会自动去
* 调用这个监听器的requestInitialized,产生一个事件对象ServletRequestEvent*/
public void requestInitialized(ServletRequestEvent sre) {
System.out.println("request被创建");
}
配置:
com.accp.RequestListener
(2)实现HttpSessionListener接口,监听session (需要在web.xml中配置)
/**
* 当session被创建的时候被调用,产生一个事件对象HttpSessionEvent*/
public void sessionCreated(HttpSessionEvent se) { }
/**
* 当session被销毁的时候被调用,产生一个事件对象HttpSessionEvent */
public void sessionCreated(HttpSessionEvent se) { }
配置:
com.accp.SessiontListener
(3)实现ServletContextListener接口,监听ServletContext(需要在web.xml中配置)
/**
* 当ServletContext被销毁的时候,容器就会自动去
* 调用这个监听器的contextDestroyed,产生一个事件对象ServletContextEvent
*/
public void contextDestroyed(ServletContextEvent sce) { }
/**
* 当ServletContext被创建的时候,容器就会自动去
* 调用这个监听器的contextDestroyed,产生一个事件对象ServletContextEvent*/
public void contextInitialized(ServletContextEvent sce) { }
配置:
com.accp.ContextListener
(4)实现SessionBindingListener接口,监听Session设值和取值(不需要在web.xml中配置)
/**
* 当向Session里面设值的时候,容器调用此方法,生产一个事件对象 */
public void valueBound(HttpSessionBindingEvent event) { }
/**
* 当向Session里面移除值的时候,容器调用此方法,生产一个事件对象 */
public void valueUnbound(HttpSessionBindingEvent event) { }
哪个类的对象需要监听,就让那个类实现该接口
3.应用
应用一
使用 ServletRequestListener ,HttpSessionListener , ServletContextListener
统计访问量,在线人数,请求次数
应用二
使用SessionBindingListener做购物车:
HttpSessionBindingListener只监听制定的session
HttpSessionListener:监听处理所有的session
java ee监听器编程,java EE开发之Servlet第四课:监听器(Listener)相关推荐
- java EE开发之Servlet第八课:MVC模式 (基本理解)
##1,为什么需要MVC模式? 为什么需要MVC模式,以前简单的JSP页面处理不好吗?MVC有什么好处呢? 答:MVC就是常说的: 模型(Model):POJO(Plain Old Java Obje ...
- Java服务器接口快速开发之Servlet详细教程
今日科技快讯 7月14日晚间消息,据乐视网刚刚披露的业绩预告,公司预计2017年上半年亏损6.37亿至6.42亿元,上年同期盈利2.84亿元.报告期内,乐视网资产减值损失计提规模较大约为2.3亿元,其 ...
- java hql多条件查询_JSP 开发之hibernate的hql查询多对多查询
JSP 开发之hibernate的hql查询多对多查询 在hibernate的hql查询中,假如说分组信息与试题是多对多关系,那么我们要在hql查询中对含有多个分组信息的试题都要查询出来.并同时查询出 ...
- java 加密解密编程,java 加密解密容易实现
当前位置:我的异常网» 编程 » java 加密解密容易实现 java 加密解密容易实现 www.myexceptions.net 网友分享于:2013-10-27 浏览:3次 java 加密解密 ...
- java 注解妙用_框架开发之Java注解的妙用
PS:如果你还不会使用注解,你肯定不好意思对别人说你学过Spring,你学过Mybatis,因为它们用了大量的注解.可见注解在开发领域已经使用的非常广泛了. 配图.jpg 注解的好处: 1.能够读懂别 ...
- Java开发之ServLet详解
一.什么是ServLet? serverLet是javaEE中运行于服务器端的,用于接收和响应HTTP协议的请求的程序. 二.ServLet的三种实现方式 1.实现ServLet接口 步骤: (1)实 ...
- java开发之ServLet注解、自定义容器方式详解
目录 一.为什么使用注解方式和自定义容器方式 二.注解方式步骤 1.创建javaEE8版本的web项目 2.创建一个类MyServlet继承HTTPServlet类并重写doGet()和doPost( ...
- Java高级应用开发之Servlet
学习路径: 1.Servlet简介 2.Servlet基础 3.表单处理 4.请求头信息 5.响应头信息 6.cookie 7.session 8.scope: Servlet Context 全局变 ...
- Java多线程并发编程--Java并发包(JUC)
Java多线程并发–Java并发包(JUC) 前言 前一篇文章中,笔者已经介绍了Java多线程的一些基础知识,但是想要成为一名中高级Java程序员还必须懂得Java并发包(JUC)的知识点,而且JUC ...
最新文章
- safari快捷图标不见了_Win7桌面图标不见了怎么办?附解决办法
- Python全栈开发:RabbitMQ/Redis/Memcache/SQLAlchemy
- 类的实例方法静态方法类方法属性方法属性
- android8.1启动前台服务,Android - 保活(1)前台服务保活
- 《Python Cookbook 3rd》笔记(4.2):代理迭代
- Android之Toolbar的三个问题:修改左边箭头颜色、怎样修改右边以及子activity中的toolbar添加返回箭头...
- Redhat7.2下编译rpm包的形式安装openvswitch
- Qt5学习笔记之串口助手一:基本界面设计
- Texar安装、Textgenrnn安装
- 兄dei,来封装一个自定义事件玩玩
- 自动创建日期文件并写入数据python脚本
- nachos 5.0j(java版)学习笔记一:环境搭建
- 使用photoshop批量处理大量照片(1000张以上)方法介绍
- 典型微型计算机控制系统的实例,微型计算机控制技术
- Tecplot360 作图经验
- 在windows下编译gmplib并使用vs2010成功调用
- 大数据入门教程系列之Hbase安装(伪分布式)
- php 微信 40125,微信请求发生错误!错误代码:40125
- 站内优化第二篇:XML 站点地图的全面解析
- 网络原理IP协议/以太网
热门文章
- Visual Studio现可使用EditorConfig
- ASP.NET Core 开发-中间件(Middleware)
- 高并发下防止库存超卖解决方案
- python求非线性优化问题_用python优化非线性函数
- 【ArcGIS微课1000例】0020:关于ArcCatalog,你知道多少?
- C#趣味程序----分数之和
- SQL Server 2005更改当前数据库的所有者
- IOS之学习笔记十五(协议和委托的使用)
- 在n个火柴里面拿3根出来拼接成最大三角形的周长
- 每日一笑 | 为什么Python比Java更受欢迎?