关闭

黑马day14 监听器理论知识

标签: 监听器
428人阅读 评论(0) 收藏 举报
分类:

监听器:这里的监听器跟java基础中学习的监听器差不多,只不过这里的监听器是javaEE的,因此注册监听器的步骤也不一样:

写一个监听器的步骤:

(1).写一个类实现监听器接口...

(2).在web.xml文件中进行注册监听器....

javaEE的监听器分类:一共8种,分为3类

(1)用来监听三大作用域的创建和销毁的监听器....这里page域除外...这三大域对象分别是:

ServletContextListener 用来监听ServletContext对象创建和销毁的监听器
创建:服务器启动,web应用加载后立即创建代表当前web应用的ServletContext对象
销毁:服务器关闭或web应用被移除出容器时,随着web应用的销毁而销毁

HttpSessionListener 用来监听HttpSession对象创建和销毁的监听器
创建:第一次调用request.getSession方法时创建代表当前会话的session对象
销毁:超过30分钟没人用销毁/调用invalidate方法自杀/服务器非正常关闭时随着web应用的销毁而销毁,如果服务器是正常关闭会被钝化起来.
当服务器正常关闭时,还存活着的session会随着服务器的关闭被以文件的形式存储在tomcat的work目录下,这个过程叫做session的钝化
当服务器再次正常开启时,服务器会找到之前的SESSIONS.ser文件从中恢复之前保存起来的session对象这个过程叫做session的活化
想要随着Session被钝化活化的对象它的类必须实现Serializable接口

ServletRequestListener  用来监听ServletRequest对象创建和销毁的监听
          创建:请求开始创建代表请求的request对象
          销毁:请求结束时代表请求的request对象销毁

(2).用来监听三大作用域中属性变化的监听器

ServletContextAttributeListener
HttpSessionAttributeListener 
ServletRequestAttributeListener

(3).使javaBean自己感知自己在session中状态变化的监听器,这两个监听器很特殊,不需要再web.xml文件中进行配置。

HttpSessionBindingListener 
javabean被绑定到session中
sessionDidActive(HttpSessionBindingEvent event)
javabean被移除绑定从session中
valueUnbound(HttpSessionBindingEvent event)方法


HttpSessionActivationListener 
javabean随着session被钝化
sessionWillPassivate(HttpSessionBindingEvent event) 
javabean随着session被活化
sessionDidActive(HttpSessionBindingEvent event)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:172259次
    • 积分:4130
    • 等级:
    • 排名:第7974名
    • 原创:242篇
    • 转载:4篇
    • 译文:0篇
    • 评论:36条
    友情链接