JavaWeb三大组件之Listener监听器
一、概述
1,它是一个接口,内容由我们来实现

2,它需要注册,例如注册在按钮上

3,监听器中的方法,会在特殊事件发生时被调用

二、JavaWeb中的监听器
1,事件源

Ø  ServletContext

生命周期监听:ServletContextListener,它有两个方法,一个在出生时调用,一个在死亡时调用;

(1)  void contextInitialized(ServletContextEvent sce):创建SErvletcontext时

(2)  void contextDestroyed(ServletContextEvent sce):销毁Servletcontext时

属性监听:ServletContextAttributeListener,它有三个方法,一个在添加属性时调用,一个在替换属性时调用,最后一个是在移除属性时调用。

(1)  void attributeAdded(ServletContextAttributeEvent event):添加属性时;

(2)  void attributeReplaced(ServletContextAttributeEvent event):替换属性时;

(3)  void attributeRemoved(ServletContextAttributeEvent event):移除属性时;

Ø  HttpSession

生命周期监听:HttpSessionListener,它有两个方法,一个在出生时调用,一个在死亡时调用;

(1)  void sessionCreated(HttpSessionEvent se):创建session时

(2)  void sessionDestroyed(HttpSessionEvent se):销毁session时

属性监听:HttpSessioniAttributeListener,它有三个方法,一个在添加属性时调用,一个在替换属性时调用,最后一个是在移除属性时调用。

(1)  void attributeAdded(HttpSessionBindingEvent event):添加属性时;

(2)  void attributeReplaced(HttpSessionBindingEvent event):替换属性时

(3)  void attributeRemoved(HttpSessionBindingEvent event):移除属性时

Ø  ServletRequest

生命周期监听:ServletRequestListener,它有两个方法,一个在出生时调用,一个在死亡时调用;

(1)  void requestInitialized(ServletRequestEvent sre):创建request时

(2)  void requestDestroyed(ServletRequestEvent sre):销毁request时

属性监听:ServletRequestAttributeListener,它有三个方法,一个在添加属性时调用,一个在替换属性时调用,最后一个是在移除属性时调用。

(1)  void attributeAdded(ServletRequestAttributeEvent srae):添加属性时

(2)  void attributeReplaced(ServletRequestAttributeEvent srae):替换属性时

(3)  void attributeRemoved(ServletRequestAttributeEvent srae):移除属性时

2,JavaWeb中完成编写监听器
(1)写一个监听器类:要求必须去实现某个监听器接口

(2)注册,是在web.xml中配置来完成注册;

3,事件对象

Ø  ServletContextEvent:ServletContext getServletContext()

Ø  HttpSessionEvent:HttpSession getSession()

Ø  ServletRequest:

(1)     ServletContext  getServletContext();

(2)     ServletReques  getServletRequest();

Ø  ServletContextAttributeEvent:

(1)     ServletContext  getServletContext();

(2)     String  getName():获取属性名

(3)     Object  getValue():获取属性值

Ø  HttpSessionBindingEvent:略

Ø  ServletRequestAttributeEvent :略

4,感知监听

1,它用来添加到JavaBean上,而不是添加到三大域上

2,这两个监听器都不需要再web.xml中注册

HttpSessionBindingListener:添加到javabean上,javabean就知道自己是否添加到session中了。

HttpSessionActivationListener监听器与HttpSessionBindingListener监听器相似,都是感知型的监听器,例如让Person类实现了HttpSessionActivationListener监听器接口,并把Person对象添加到了session中后,当Tomcat钝化session时,同时也会钝化session中的Person对象,这时Person对象就会感知到自己被钝化了,其实就是调用Person对象的sessionWillPassivate()方法。当用户再次使用session时,Tomcat会活化session,这时Person会感知到自己被活化,其实就是调用Person对象的sessionDidActivate()方法。
---------------------
作者:职业炮灰
来源:CSDN
原文:https://blog.csdn.net/king_cannon_fodder/article/details/79894304
版权声明:本文为博主原创文章,转载请附上博文链接!

转-JavaWeb三大组件之Listener监听器的更多相关文章

  1. Javaweb三大组件-过滤器、监听器

    1. 过滤器 [filter] 作用: 对单个获取多个servlet起到增强[advice]的作用. 用于在所有的servlet执行前,做一些预处理.例如:做编码处理, 访问量统计[servletCo ...

  2. JavaWeb三大组件

    一.JavaWeb三大组件 Servlet,Listener,Filter.它们在JavaWeb开发中分别提供不同的功能. JavaWeb三大组件都必须在Web.xml中配置 二.三大组件 1.Ser ...

  3. JavaWeb三大组件(Servlet、Filter、Listener)

    JavaWeb三大组件指的是:Servlet.Filter.Listener,这三个组件在JavaWeb开发中分别提供不同的功能,然而很多人可能只用过其中一个或者两个(Servlet.Filter,比 ...

  4. JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下)

    JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下) Reference

  5. JavaWeb三大组件—过滤器filter

    JavaWeb三大组件 1. 都需要在web.xml中进行配置ServletListener(2个感知监听器不需要配置)Filter 2. 过滤器 它会在一组资源(jsp.servlet..css.. ...

  6. 学习笔记_过滤器概述(过滤器JavaWeb三大组件之一)

    过滤器Filter Filter和Lister是Servlet规范里的两个高级特性.不同于Servlet,它们不用于处理客户端请求,只用于对request.response进行修改或者对context ...

  7. Filter过滤器-JavaWeb三大组件之一

    Servlet.Filter.Listener是JavaWeb的三大组件,给Web开发提供了很大的便利. 什么是Filter? Filter,过滤器.类似与生活中的净水器.空气净化器. JavaWeb ...

  8. JavaWeb三大组件之一Filter知识总结

    [1] Filter简介    > Filter翻译为中文是过滤器的意思.    > Filter是JavaWeb的三大web组件之一Servlet.Filter.Listener    ...

  9. JavaWeb(六)Listener监听器

    监听器 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. Servlet监听器 在Se ...

随机推荐

  1. windows环境安装weblogic服务【转】【补】

    我的环境: windows: win10 professional edition jdk: C:\Program Files\Java\jdk1.6.0_45 weblogic安装目录 (WEBLO ...

  2. Mac Office 2016 破解

    官方最新版本office 是2016.15.38 此版本主要是修复了Excel内存损害漏洞. 官方下载的版本大小是1.67G,因为其他途径下载的版本,不确保是最新版本且为完整的版本.不知道我说的这个大 ...

  3. vue-router拦截

    说明:以下均在main.js中添加. 主要思路 1.在路由分发时,检查本地缓存是否有账号信息,如果没有,跳转登陆页面,传入当前路由 2.在发送请求时,添加账号token 3.在接收请求时,检查响应的数 ...

  4. NLP里面的一些基本概念

    1,corpus 语料库 a computer-readable collection of text or speech 2,utterance 发音 比如下面一句话:I do uh main- m ...

  5. Quartz.NET 配置文件详解

    Ø  前言 在之前的 使用 Topshelf 结合 Quartz.NET 创建 Windows 服务 文章中,使用到了 Quartz 的两个配置文件 quartz.config 和 quartz_jo ...

  6. 二十四、Linux 进程与信号---wait 函数

    24.1 wait 函数说明 24.1.1 waitpid---等待子进程中断或结束 waitpid(等待子进程中断或结束) 相关函数 wait,fork #include <sys/types ...

  7. python随机数random模块

    需要  import random x=random.random()    产生 0 到 1 之间的随机浮点数 结果  0.005570080000840916 x=random.randint(1 ...

  8. Factorized Hidden Variability Learning For Adaptation Of Short Duration Language Identification Models

    基于因子分解的隐层变量学习,应用于短语句语种识别模型的自适应     LFVs(Language Feature Vectors,语种特征向量)[11],与BSVs(Bottleneck Speake ...

  9. spring cloud(学习笔记)高可用注册中心(Eureka)的实现(二)

    绪论 前几天我用一种方式实现了spring cloud的高可用,达到两个注册中心,详情见spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一),今天我意外发现,注册中心可以无限 ...

  10. service cloudera-scm-server restart报错 Unable to retrieve remote parcel repository manifest

    Unable to retrieve remote parcel repository manifest 1 详细错误 ERROR ParcelUpdateService:com.cloudera.p ...