170817关于Listener的知识点

1.  Listener   监听器简介
                    Listener是JavaWeb中三大组件之一。Servlet、Filter、Listener
                    三大组件都有的共同特点,都需要实现一个接口,并在web.xml文件配置。

2. JavaWeb中的监听器的监听对象是谁?
                    ServletContext
                    HttpSession
                    ServletRequest

3. 监听器分类 
                    JavaWeb中的监听器共有三种,共8个监听器
                    生命周期监听器,监听三个对象的创建和销毁的事件。(3个)
                    属性监听器,监听三个对象中属性的变化。(3个)
                    session对象监听器,将它session中的属性,以及session的活化和钝化。(2个)

4.生命周期监听器:

ServletContextListener
                             ServletContext生命周期监听器
                                   void contextDestroyed(ServletContextEvent sce) 
                                   该方法在ServletContext对象销毁前调用
     
                                   void contextInitialized(ServletContextEvent sce)  
                                   该方法在ServletContext对象创建之后调用。
 
                                   ServletContextEvent 对象可以获取到ServletContext对象
                                   ServletContextEvent.getServletContext();


    
                    HttpSessionListener
                             HttpSession生命周期监听器
                                   void sessionCreated(HttpSessionEvent se) 
                                   该方法在Session创建时调用
     
                                   void sessionDestroyed(HttpSessionEvent se) 
                                   在session销毁时调用
    
                                   HttpSessionEvent
                                  可以获取HttpSession对象
   
                     ServletRequestListener

ServletRequest生命周期监听器
                                   void requestDestroyed(ServletRequestEvent sre) 
                                   在request请求响应时调用
   
                                   void requestInitialized(ServletRequestEvent sre) 
                                   在request请求开始时调用
   
                                   ServletRequestEvent
                                   可以获取ServletContext对象和ServletRequest

编写一个监听器的步骤:
                         1.创建一个类并实现一个接口。
                         2.在web.xml文件中注册监听器。

5. 属性监听器

属性监听器,监听三个域中的属性的变化:

添加一个属性,替换一个属性,移除一个属性

ServletContextAttributeListener

监听ServletContext中的属性的变化

void attributeAdded(ServletContextAttributeEvent scab)

当向ServletContext中添加属性时调用

attributeRemoved(ServletContextAttributeEvent scab)

移除属性时调用

attributeReplaced(ServletContextAttributeEvent scab)

替换一个属性时调用

HttpSessionAttributeListener

void attributeAdded(HttpSessionBindingEvent se)

void attributeRemoved(HttpSessionBindingEvent se)

void attributeReplaced(HttpSessionBindingEvent se)

HttpSessionBindingEvent

1.可以获取到属性名 getName()

2.可以获取属性的旧值 getValue()

3.可以获取到HttpSession对象 getSession();

ServletRequestAttributeListener

void attributeAdded(ServletRequestAttributeEvent srae)

void attributeRemoved(ServletRequestAttributeEvent srae)

void attributeReplaced(ServletRequestAttributeEvent srae)

6.  监听session域中的属性的。
                       HttpSessionBindingListener
                       监听session域中某一个类的实例的添加和移除。
                       该接口由JavaBean来实现,不需要再web.xml文件配置
                       valueBound(HttpSessionBindingEvent event) 
                       当该类的实例,作为属性设置进session域中时调用
                       valueUnbound(HttpSessionBindingEvent event)
                       当该类的实例,从session域中被移除时调用

7. HttpSessionActivationListener
                       监听session域中的某类属性,和session一起活化和钝化的事件。
                       该接口由JavaBean来实现,同样不需要再web.xml中配置,但是该JavaBean需要实现Serializable接口!
                       void sessionDidActivate(HttpSessionEvent se) 
                       当前对象和session一起被活化到内存时调用
                       void sessionWillPassivate(HttpSessionEvent se) 
                       当前对象和session一起钝化到硬盘时调用

时间: 2024-12-22 07:13:19

170817关于Listener的知识点的相关文章

170817关于文件下载的知识点

2.文件的下载 [1] 简介  > 将服务器中的文件下载到本地.  > 一般情况下资源所在的链接发送给浏览器,浏览器就会自动下载.   但是当浏览器支持当前文件的格式,浏览器会自动打开文件,而不会弹出下载窗口.  > 直接将资源放在项目的目录下,浏览器可以直接访问到资源.   所以一般我们下载的资源不能让浏览器直接访问到.  [2] 下载所需要的内容   1.获取到文件的流   2.设置两个响应头  [3] 下载相关的两个响应头  1) 文件类型 Content-Type -->

SpringBoot系列教程web篇Listener四种注册姿势

java web三要素Filter, Servlet前面分别进行了介绍,接下来我们看一下Listener的相关知识点,本篇博文主要内容为SpringBoot环境下,如何自定义Listener并注册到spring容器 I. 环境配置 1. 项目搭建 首先我们需要搭建一个web工程,以方便后续的servelt注册的实例演示,可以通过spring boot官网创建工程,也可以建立一个maven工程,在pom.xml中如下配置 <parent> <groupId>org.springfra

Android常用UI组件 - ListView

列表视图(ListView)是Android当中一个非常重要的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示. 列表的显示需要三个元素: 1.ListVeiw 用来展示列表的View. 2.适配器 用来把数据映射到ListView上的中介. 3.数据 具体的将被映射的字符串,图片,或者基本组件. 首先介绍"适配器"这个基础概念.在列表中定义的数据都通过"适配器"来映射到ListView上,ListView中常用的适配器有两种: ArrayAdap

【知识点】Filter、Servlet、Listener区别与联系

1. Filter实现javax.servlet.Filter接口,在web.xml中配置与标签指定使用哪个Filter实现类过滤哪些URL链接.只在web启动时进行初始化操作. filter 流程是线性的, url传来之后,检查之后,可保持原来的流程继续向下执行,被下一个filter, servlet接收等,而servlet 处理之后,不会继续向下传递.filter功能可用来保持流程继续按照原来的方式进行下去,或者主导流程,而servlet的功能主要用来主导流程.特点:可以在响应之前修改Req

【体系结构】有关Oracle SCN知识点的整理

[体系结构]有关Oracle SCN知识点的整理 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① Oracle中的SCN是什么?(重点) ② 如何查询SCN?(重点) ③ SCN有哪些分类?(重点) ④ SCN和系统恢复的关系?(重点) ④ 实例恢复和介质恢复的区别是什么?RAC中的实例恢复是什么样的?(重点) ⑥ SCN和时间的转换 ⑦ SMON_SCN_TIME

Node.js的知识点框架整理

背景:因为appium是基于Node.js的,所以想看一下Node.js.但是发现很多资料的顺序看起来有点颠倒.然后就一面看资料一面整理了一下大概的知识点框架,希望对自己对别人有用. 本文不包含node.js的基本语法.node.js的基本语法和JavaScript基本一样,可以以后再单独整理一份基本语法的. Node.js是一个基于chrome V8的JavaScript运行时的环境 Node.js是事件驱动,非阻塞式I/O模型 Node.js使用npm包管理器 使用Node.js不仅实现了一

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

Oracle学习基本知识点总结

 以下是我总结的OCP教程的知识点,以备参考之用! 1, What's Oracle Server? ·         It's a database management system that provides an open, comprehensive, integrated approach to information management. ·         Consists of an Oracle instance and an Oracle database 2,What

第三天知识点

知识点回顾: 1.tomcat安装及目录介绍 JAVA_HOME CATALINA_HOME PATH=%JAVA_HOME%/bin; 2.静态web项目.动态web项目 WEB-INF lib classes web.xml 3.外部动态web项目 server.xml <host> <Context path="" docBase="" /> </host> 4.tomcat和eclipse的整合!tomcat镜像! 5.h