JavaWeb基础—监听器Listener
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的更多相关文章
- Javaweb基础--->监听器listener(转发)
JavaWeb中的监听器 1.基本概念 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 Servl ...
- 深入分析JavaWeb Item38 -- 监听器(Listener)高速学习
一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其它对象身上发生的事件或状态改变进行监听和对应处理的对象,当被监视的对象发生情况时,马上採取对应的行动.监听器事实上就是一个实现特定接口的普 ...
- 深入分析JavaWeb Item39 -- 监听器(Listener)学习进阶
一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...
- javaweb学习总结(四十七)——监听器(Listener)在开发中的应用
监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...
- javaWeb学习总结(11)- 监听器(Listener)在开发中的应用
监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...
- javaWeb学习总结(11)- 监听器(Listener)学习
一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其 实就是一个实现特定接口的普 ...
- JavaWeb学习 (二十七)————监听器(Listener)在开发中的应用
监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...
- JavaWeb学习笔记(二十一)—— 监听器Listener
一.监听器概述 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 ServletRequest等域对 ...
- JavaWeb—监听器Listener
1.简介 Listener是Servlet的监听器,Servlet 监听器用于监听一些重要事件的发生,监听器对象在事情发生前.发生后可以做一些必要的处理. JavaWeb里面的listener是通过观 ...
随机推荐
- Oracle数据库日期格式转换操作
1. 日期转化为字符串 (以2016年10月20日为例) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') strDateTime from dual; ...
- springMVC入门-02
本节会在上节基础上讨论springMVC如何传值的问题. 在添加dispatcherServlet之后,拦截器会将url中的参数拦截下来,使之可以在controller中使用.以下代码就是在前台输入u ...
- 如何制作 Objective-C 的UML图 [2]
如何制作 Objective-C 的UML图 [2] 说明 本教程旨在教你如何制作 Objective-C 的UML图,此为第二部分. 步骤 类继承关系 一个类符合某个协议 一个类认识另外一个对象(仅 ...
- Python学习---Django的request.post源码分析
request.post源码分析: 可以看到传递json后会帮我们dumps处理一次最后一字节形式传递过去
- Linux 重定向详解
常用的命令展示 >: 输出重定向 没有会创建文件echo hello > h.txt 也可以清空文件 >h.txt >>: ...
- windows实现MySQL主从复制
MySQL的主从复制是通过binlog日志来实现的,主从复制中的“主”指的是MySQL主服务器上的数据库,“从”指的是MySQL从服务器上的数据库,且这种复制是基于数据库级别的,为此从服务器中的数据库 ...
- Windows批量修改文件夹及子文件夹下文件的扩展名
实例:将 D:/backup 目录下所有后缀名为 “.zip” 的文件替换为 “.exe” 后缀 bat批处理: @echo off rem 不显示执行过程 D: rem 切换至指定盘符 cd D:/ ...
- Coursera-AndrewNg(吴恩达)机器学习笔记——第二周编程作业(线性回归)
一.准备工作 从网站上将编程作业要求下载解压后,在Octave中使用cd命令将搜索目录移动到编程作业所在目录,然后使用ls命令检查是否移动正确.如: 提交作业:提交时候需要使用自己的登录邮箱和提交令牌 ...
- Office 365 Pass-through身份验证及Seamless Single Sign-On
Hello 小伙伴们, 这篇文章将视点聚焦在传递身份验证(Pass-through Authentication)上,将分享如何安装,配置和测试Azure Active Directory(Azure ...
- Office 365实现单点登录系列(4)—安装AD FS
单一登录 (Single Sign-On)简而言之,就是让用户使用一套ID和密码,就可以登录一个或多个系统的授权机制.用户只需要通过其中一个应用的安全认证之后,再访问同一服务器其他应用的资源时不需要再 ...