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. Dubbo管控台安装(zookeeper单机版)

    1. zookeeper安装(单机版):http://www.cnblogs.com/wangfajun/p/5251159.html  √ 注意:我这里的dubbo-admin.war是2.5.3版 ...

  2. CentOS在VirtualBox虚拟机中网络配置

    1. 宿主机网络参数  2. 右键设置,对虚拟机进行设置网络 3.虚拟机   vi   /etc/sysconfig/network-scripts/ifcfg-eth1   打开该配置文件 eth0 ...

  3. HDU 1034(传递糖果 模拟)

    题意是一群孩子围成一个圈,每个人把手中的糖果分一半给右边的人,若分过之后手中的糖果数是奇数,则由老师提供一颗糖果给他,问这样传递多少圈所有人的糖果数都能相等,最终每人手里的糖果数是多少. 由于题中已经 ...

  4. python 有趣的库练习

    这里会将看到别人玩过有趣的实践并记录下来,会是一个长期更新的过程... 以下大部分均非原创变化自网络,只是觉得有趣便记录下来了,如有侵权,请告知删除... 自动化脚本... 20个必不可少的Pytho ...

  5. Django多表操作

    多表创建 创建模型 下面通过一个简单的图书管理系统,来阐述多表的创建和查询操作 在视图函数里里定义如下代码 from django.db import models class Book(models ...

  6. Nginx 配置反向代理后,页面中取绝对URL地址的问题显示代理端口

    本文有V型知识库提供 upstream tomcat {    server 127.0.0.1:82;} location / {     proxy_pass http://tomcat;} 如上 ...

  7. weui hd bd ft

    weui样式看到hd ,bd, ft hd 是header的缩写 bd 是body的缩写 ft 是footer的缩写

  8. Windows 常用的运行命令

    1. 打开程序 1)   calc                    计算器 2)   notepad                 记事本 3)   write                 ...

  9. url 组成部分

    NSURL其实就是我们在浏览器上看到的网站地址,这不就是一个字符串么,为什么还要在写一个NSURL呢,主要是因为网站地址的字符串都比较复杂,包括很多请求参数,这样在请求过程中需要解析出来每个部门,所以 ...

  10. call apply bind 区别?

    call apply bind 区别? 例:定义一个计算器,没绑定bind的为公共计算器,call可以调用,绑定bind的为私人计算器,别人调用不了, //ps:用bind绑定的call强制作借用不好 ...