JAVAWEB的Listener

学习监听器
  1监听器是什么 :监听对象的变化或者监听事件的触发
  2有什么作用:当被监听的对象状态改变时,触发对应的方法
  3怎么用:
    ①声明监听器,(继承对应的监听器)
    ②重写监听方法,并实现自己需要的功能
    ③注册监听器
JavaWeb的监听器
1运行原理
  ①自定义监听器,并实现对应的监听器(ServletContextAttributeListener, HttpSessionAttributeListener 和ServletRequestAttributeListener)
  ②实现了对应的监听器,就代表自定义的监听监听那个对象
  ③覆写对应的监听方法,并实现自己的功能
  ④在web.xml中注册监听器

<listener>
<description>监听器名字--一般是类名</description>
<listener-class>监听器全类名</listener-class>
</listener>

2JavaWeb对应的监听器介绍
Servlet监听器的分类:在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为ServletContext,HttpSession和ServletRequest这三个域对象
Servlet规范针对这三个对象上的操作,又把多种类型的监听器划分为三种类型:
①监听域对象自身的创建和销毁的事件监听器。
  I 监听ServletContext域对象的创建和销毁
    ServletContextListener接口用于监听ServletContext对象的创建和销毁事件。(一般用于服务器启动时就静态化系统所需要的资源)
    实现了ServletContextListener接口的类都可以对ServletContext对象的创建和销毁进行监听。
        当ServletContext对象被创建时,激发contextInitialized (ServletContextEvent sce)方法。
        当ServletContext对象被销毁时,激发contextDestroyed(ServletContextEvent sce)方法。
    ServletContext域对象创建和销毁时机:
       创建:服务器启动针对每一个Web应用创建ServletContext
       销毁:服务器关闭前先关闭代表每一个web应用的ServletContext
  II 监听HttpSession域对象的创建和销毁
    HttpSessionListener 接口用于监听HttpSession对象的创建和销毁
      创建一个Session时,激发sessionCreated (HttpSessionEvent se) 方法
      销毁一个Session时,激发sessionDestroyed (HttpSessionEvent se) 方法。
  III 监听ServletRequest域对象的创建和销毁
    ServletRequestListener接口用于监听ServletRequest 对象的创建和销毁
      Request对象被创建时,监听器的requestInitialized(ServletRequestEvent sre)方法将会被调用
      Request对象被销毁时,监听器的requestDestroyed(ServletRequestEvent sre)方法将会被调用

    ServletRequest域对象创建和销毁时机:
      创建:用户每一次访问都会创建request对象
      销毁:当前访问结束,request对象就会销毁

②监听域对象中的属性的增加和删除的事件监听器。
  I ServletContextAttributeListener:监听ServletContext对象的属性变化
  II HttpSessionAttributeListener :监听session对象的属性变化
  III ServletRequestAttributeListener:监听Request对象的属性变化
   (I,II,III都是监听域对象中属性的变更的监听器,就是监听属性的增删改并且都有以下方法)
   1.1、attributeAdded方法
     当向被监听对象中增加一个属性时,web容器就调用事件监听器的attributeAdded方法进行响应,这个方法接收一个事件类型的参数,
    监听器可以通过这个参数来获得正在增加属性的域对象和被保存到域中的属性对象各个域属性监听器中的完整语法定义为:
    1 public void attributeAdded(ServletContextAttributeEvent scae)
    2 public void attributeAdded(HttpSessionBindingEvent hsbe)
    3 public void attributeAdded(ServletRequestAttributeEvent srae)
  1.2、attributeRemoved 方法
      当删除被监听对象中的一个属性时,web容器调用事件监听器的attributeRemoved方法进行响应
      各个域属性监听器中的完整语法定义为:
    1 public void attributeRemoved(ServletContextAttributeEvent scae)
    2 public void attributeRemoved (HttpSessionBindingEvent hsbe)
    3 public void attributeRemoved (ServletRequestAttributeEvent srae)
  1.3、attributeReplaced 方法
      当监听器的域对象中的某个属性被替换时,web容器调用事件监听器的attributeReplaced方法进行响应
      各个域属性监听器中的完整语法定义为:
    1 public void attributeReplaced(ServletContextAttributeEvent scae)
    2 public void attributeReplaced (HttpSessionBindingEvent hsbe)
    3 public void attributeReplaced (ServletRequestAttributeEvent srae)
notice:
  XXXEvent对象具有的方法
  XXXEvent.getName()---被修改的属性名
  XXXEvetn.getValue()--属性修改后的值
问题又来了,监听那个特定属性呢??还是监听全部属性呢??
当前是监听对象的全部属性啦
③监听绑定到HttpSession域中的某个对象的状态的事件监听器。
  HttpSessionBindingListener接口
   实现了HttpSessionBindingListener接口的JavaBean对象可以感知自己被绑定到Session中和 Session中删除的事件
   当对象被绑定(setAttribute())到HttpSession对象中时,web服务器调用该对象的void valueBound(HttpSessionBindingEvent event)方法
   当对象从HttpSession对象中解除绑定(removeAttribute())时,web服务器调用该对象的void valueUnbound(HttpSessionBindingEvent event)方法

时间: 2024-10-19 20:34:59

JAVAWEB的Listener的相关文章

JavaWeb:Listener

1.ServletContextListener: 1).what:监听 ServletContext  对象被创建或销毁的 Servlet 监听器. 2).how:  >创建一个实现了 ServletContextListener 的类,并且实现其中的两个方法 public class HelloServletContextListner implements ServletContextListener >在 web.xml 文件中配置 Listener <listener>

JavaWEB 通过Listener理解域对象生命周期

利用 ServletRequestListener.HttpSessionListener 以及 ServletContextListener 可以把request,session,以及Application的生命周期进一步的做一了解 > request:是一个请求,当一个响应返回时,即被销毁.当发送一个请求时被创建.注意:请求转发的过程是 一个 request 对象. 注:在页面上放的 属性 ,在servlet中时获取不到的,因为页面响应后request已经销毁了. 注:重定向是两个请求. >

JavaWeb监听器Listener

在监听器的对象作用领域中一般涉及监听主体(监听器).监听客体(事件源).监听事件(事件). 在警察监听小偷中,警察是监听器,小偷是事件源,偷东西是时间. JavaWeb中监听器的事件源(ServletContext.HttpSession.ServletRequest.JavaBean) 1.ServletContext 生命周期监听:ServletContextListener 属性监听:ServletContextAttributeListener 2.HttpSession 生命周期监听:

Javaweb之Listener学习

监听器:主要用来监听特定对象的创建或销毁,属性的变化 监听器是一个实现特定接口的普通Java类 监听的对象必须要对程序的实现或数据的保存有帮助 监听器在访问其监听的对象的时候由服务器创建 访问结束后由服务器销毁 某一类监听器配置以后, 该监听器对该类对象都会进行监听 对象的创建方式: 对象的创建原则:谁创建,谁销毁 1.自己创建 自己使用     不需要监听 2.别人创建  自己用        需要监听 监听器可以从属性上分为三类 一.生命周期监听器 监听对象的创建.销毁的过程 二.属性监听器

JavaWeb之Listener&amp;Filter

1. 回顾一下三个作用域 启动tomcat时会创建ServletContext,关闭服务器,将项目从服务器中移除会销毁ServletContext 请求项目中的任何资源都会创建ServletRequest,请求结束,销毁ServletRequest 请求项目中的JSP资源会创建HttpSession,Session过期,服务器正常或非正常退出都会销毁HttpSession 2. Listener 监听器,监听某个事件的发生或状态改变 监听器的内部机制就是接口回调 WEB监听器 总共有8个,划分为

教你使用JavaWeb实现无处不在的登陆注册

登陆注册,基本上是打开所有app都需要做的事情了,在这个大数据时代,登陆注册是最基础但也是最重要的用户数据.今天就手把手教你制作:用户登录在各大信息管理系统中,登录功能是必不可少的,他的作用就是验证用户的身份,判断用户是否是本站的会员,只有会员才能访问当前系统登录的实现步骤:1.用户填写账号和密码,提交到后台2.后台获取到账号和密码后,将其发送到数据库中进行查询3.查询结果如果为null,说明用户填写的账号或者密码有误,应该回到登录页面并提示用户重新输入4.查询结果如果不为null,说明用户填写

手把手教你做JavaWeb项目:登录模块

现如今,无论是客户端还是移动端,无论是游戏登陆还是社交平台登陆,无处不在的“登陆”.那么你知道怎么制作吗?今天就为你娓娓道来: 用户登录 在各大信息管理系统中,登录功能是必不可少的,他的作用就是验证用户的身份,判断用户是否是本站的会员,只有会员才能访问当前系统 登录的实现步骤: 1.用户填写账号和密码,提交到后台2.后台获取到账号和密码后,将其发送到数据库中进行查询3.查询结果如果为null,说明用户填写的账号或者密码有误,应该回到登录页面并提示用户重新输入4.查询结果如果不为null,说明用户

安卓入门常见架构之mvc

Android基础--框架模式MVC在安卓中的实践 本篇文章包含以下内容: MVC的介绍 MVC的实践 MVC的介绍 MVC (Model View Controller),是模型(model)视图(view)控制器(controller)的缩写,一种软件设计模式,用于组织代码用一种功能模块和数据模块分离的方法 Model:模型层,负责处理数据的加载或者存储 View:视图层,负责界面数据的展示,与用户进行交互 Controller:控制器层,负责逻辑业务的处理 MVC的模型关系图: MVC设计

【免费下载】全套最新 003JavaWeb开发 视频教程+教学资料+学习课件+源代码+软件开发工具

003JavaWeb开发视频教程 网盘地址: 链接:https://pan.baidu.com/s/1-5ZT3yZpsqyBU3ljOB3C1g 提取码:rige 加公众号 获取更多新教程 教程目录大纲 ./003JavaWeb开发 ├── 10. HttpSession(上) │?? ├── 44. JavaWEBHttpSession 概述.wmv │?? ├── 45. JavaWEBHttpSession 的生命周期.wmv │?? ├── 46. JavaWEBHttpSession