javaWeb三大组件:
servlet
listener(用的不多)
filter

什么叫监听器:
初次相见:AWT
二次相见:SAX(XML解析时)
Bundle 绑定
监听器是一个接口,内容由我们实现
它需要注册,例如注册在按钮上
监听器的方法会在特定事件发生时调用

特性:
总是和观察者模式相关。
事件源:谁飙车
事件:有人飚车了
监听器:交警(就监听谁飙车,就注册在事件源身上),监听器的方法(这里就是抓捕)
当然可能不止一个。

JavaWeb中的监听器(八大监听器)
常见的事件源:ServletContext
生命周期监听:ServletContextListener
出生(生之后)[相对用的多一些,虽然整个监听器用的都少]
和死亡(死之前)时两个方法(人是从生之后开始干事)
属性监听: ServletContextAttributeListener 添加、替换、移除属性三个方法
HttpSession
生命周期监听
类同上,详细参见J2EE api
属性监听
ServletQequest
生命周期监听
类同上
属性监听

外加感知监听:添加到JavaBean中,与HttpSession相关,无需再web.xml中注册
让javaBean实现HttpSessionBindingListener接口,从此bean就知道是否被添加或者被移除了

session拥有死而复生的能力(存在本地硬盘)serializable
取消序列化 在context.xml中加<Manager pathname=""/>
实际里面打开注释就行,里面已经写好
session的序列化与反序列化(关闭与启动服务器)
应用场景:
1.一般来说,服务器启动后,就不会再关闭了,
但是如果逼不得已需要重启,而用户会话还在进行
相应的操作,这时就需要使用序列化将session信息
保存起来放在硬盘,服务器重启后,又重新加载。
这样就保证了用户信息不会丢失,实现永久化保存

简单说就是把对象转换为字节形式存储的过程称为对象的序列化
当然,这一切前提都是实现Serializable

2.淘宝每年都会有定时抢购的活动,很多用户会提前
登录等待,长时间不进行操作,一致保存在内存中,
而到达指定时刻,几十万用户并发访问,就可能会有
几十万个session,内存可能吃不消,这时就需要进行
对象的活化、钝化,让其在闲置的时候离开内存,
将信息保存至硬盘,等要用的时候,就重新加载进内存
钝化与活化(太多session了,把长时间不使用的倒出来)
persistent 持久稳固的
配置文件中加
<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="true" maxActiveSessions="1">
<Store className="org.apache.catalina.session.FileStore" directory="d:/a">
</Store>
</Manager>
这里最后的监听器:
HttpSessionActivationListener
两个方法,分别钝化与活化时调用,JavaBean实现这个接口,他也知道何时被钝化与活化了

步骤:
写一个监听器类(实现指定的接口)
完成注册(只需在web.xml中配置)在myeclipse中直接创建Listener选择实现的接口,会自动在web.xml中注册

生命周期事件对象:ServletContextEvent (getServletContext()方法最为主要)
其它类同,主要职责 报告事件源
属性监听类同(用的不多)
主要方法event.getName()与getValue()的属性相关方法

JavaWeb基础—监听器Listener的更多相关文章

  1. Javaweb基础--->监听器listener(转发)

    JavaWeb中的监听器 1.基本概念 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 Servl ...

  2. 深入分析JavaWeb Item38 -- 监听器(Listener)高速学习

    一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其它对象身上发生的事件或状态改变进行监听和对应处理的对象,当被监视的对象发生情况时,马上採取对应的行动.监听器事实上就是一个实现特定接口的普 ...

  3. 深入分析JavaWeb Item39 -- 监听器(Listener)学习进阶

    一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...

  4. javaweb学习总结(四十七)——监听器(Listener)在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  5. javaWeb学习总结(11)- 监听器(Listener)在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  6. javaWeb学习总结(11)- 监听器(Listener)学习

    一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其 实就是一个实现特定接口的普 ...

  7. JavaWeb学习 (二十七)————监听器(Listener)在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  8. JavaWeb学习笔记(二十一)—— 监听器Listener

    一.监听器概述 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 ServletRequest等域对 ...

  9. JavaWeb—监听器Listener

    1.简介 Listener是Servlet的监听器,Servlet 监听器用于监听一些重要事件的发生,监听器对象在事情发生前.发生后可以做一些必要的处理. JavaWeb里面的listener是通过观 ...

随机推荐

  1. 6.Spring MVC SSM整合问题总结

    1.Cannot find class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter] for ...

  2. 2.Spring——maven依赖

    1.spring-core 2.spring-context 3.spring-orm 4.spring-web spring-webmvc others pmo demo1 pmo demo2 1. ...

  3. kvm 启动libvirtd时出现错误

    kvm 启动libvirtd市出现错误: /etc/init.d/libvirtd start启动 libvirtd 守护进程:libvirtd: relocation error: libvirtd ...

  4. 如何将同一 VNET 下的虚拟机从经典部署模型迁移到 Azure Resource Manager

    本文内容 适用场景 解决方案 适用场景 用户拥有多个云服务但是在同一个 VNET 下,希望将这些虚拟机从经典部署模型(以下简称:ASM)迁移到 Azure Resource Manager(以下简称: ...

  5. OSCache-缓存对象

    在实际应用中除了JSP标签库,还可以使用OSCache提供的Java API.下面我来介绍一个实用的Java类,使用GeneralCacheAdministrator来建立,刷新和管理缓存. Gene ...

  6. 模仿SDWebImage实现异步加载图片

    模仿SDWebImage实现异步加载图片 SDWebImage想必大家都不陌生吧,要实现它的图片异步加载功能这个还是很简单的. 注意:此处我只实现了异步加载图片,并没有将文件缓存到本地的打算哦:) 源 ...

  7. [C++] 用Xcode来写C++程序[2] 操作变量

    用Xcode来写C++程序[2] 操作变量 此节讲解包括变量的初始化的几种方式,以及泛型编程的两种变量赋值方式. 最基本的变量赋值以及操作: // operating with variables # ...

  8. orcl数据库查询重复数据及删除重复数据方法

    工作中,发现数据库表中有许多重复的数据,而这个时候老板需要统计表中有多少条数据时(不包含重复数据),只想说一句MMP,库中好几十万数据,肿么办,无奈只能自己在网上找语句,最终成功解救,下面是我一个实验 ...

  9. Top 25 Most Frequently Asked Interview Core Java Interview Questions And Answers

    We are sharing 25 java interview questions , these questions are frequently asked by the recruiters. ...

  10. Linux 系统DNS解析原理

    DNS:域名的解析,也称A记录,CDN服务器   配置文件位置:       vi /etc/resolv.conf 解析原理 DNS就像一个倒挂的树,定点是点. www.baidu.com ==&g ...