1、ServletContextListener:

1)、what:监听 ServletContext  对象被创建或销毁的 Servlet 监听器。

2)、how:

》创建一个实现了 ServletContextListener 的类,并且实现其中的两个方法

public class HelloServletContextListner implements ServletContextListener

》在 web.xml 文件中配置 Listener

com.atguigu.javaweb.test.HelloServletContextListner

3)、why:ServletContextListener 是最常用的 Listener ,可以在当前 WEB 应用被加载时对当前 WEB 应用的相关的资源进行初始化操作:闯将数据库连接池,创建 Spring 的 IOC 容器,读取当前 WEB 应用的初始化参数。。。

4)、API:

// SerlvetContext 对象被创建(即, 当前 WEB 应用被加载时)的时候, Servlet 容器调用该方法.

public void contextInitialized(ServletContextEvent sce)

// SerlvetContext 对象被销毁之前(即, 当前 WEB 应用被卸载时)的时候, Servlet 容器调用该方法.

public void contextDestroyed(ServletContextEvent sce)

ServletContextEvent 中的: getServletContext() 获取 ServletContext

2、ServletRequestListener & HttpSessionListener

1)、和 ServletContextListener 类似。

2)、利用ServletRequestListener、HttpSessionListener 以及 ServletContextListener 可以把 request, session

及 application 的生命周期进一步的做一了解。

》request:是一个请求,当一个响应返回时,即被销毁,当发送一个请求时被创建。注意:请求转发的过程是一个 request 对象。重定向是两个请求。

》session:当第一次访问 WEB 应用的一个 JSP 或 Servlet 时,且该 JSP 或 Servlet 中还需要创建 session 对象,此时服务器会创建一个 session 对象。

session 销毁:session 过期,直接调用 session 的 invalidate 方法,当前 web 应用被卸载(session 可以被持久化)。

*关闭浏览器,并不意味着 session 被销毁,还可以通过 sessionid 找到服务器中的 session 对象。

》application:贯穿于当前的 WEB 应用的生命周期。当前 WEB 应用被加载时创建 application 对象,当前 WEB 应用被卸载时销毁 application 对象。

3、XxxAttributeListener

1)、监听 ServletContext, HttpSession, ServletRequest 中添加属性,替换属性,移除属性的事件监听器。

2)、以 ServletRequestAttributeListener  为例:

//添加属性时被调用

public voidattributeAdded(ServletRequestAttributeEvent srae) {

System.out.println("向 request 中添加了一个属性...");

}//移除属性时被调用

@Overridepublic voidattributeRemoved(ServletRequestAttributeEvent srae) {

System.out.println("从 request 中移除了一个属性...");

}//替换属性时被调用.

@Overridepublic voidattributeReplaced(ServletRequestAttributeEvent srae) {

System.out.println("request 中属性替换了...");

}

3)、这三个 ServletContextAttributeListener,ServletRequestAttributeListener,HttpSessionAttributeListener 监听器较少被使用。

4)、API :

ServletRequestAttributeEvent:

> getName(): 获取属性的名字

> getValue(): 获取属性的值.

4、HttpSessionBindingListener

1)、监听实现了该接口的 Java 类的对象被绑定到 session 或从 session 中解除绑定的事件。

//当前对象被绑定到 session 时调用该方法

public void valueBound(HttpSessionBindingEvent event)

//当前对象从 session 中解除绑定调用该方法

public void valueUnbound(HttpSessionBindingEvent event)

2)、 注意: 该监听器不需要在 web.xml 文件中进行配置。

3)、HttpSessionBindingEvent:

getName()

getValue()

getSession()

4)、该监听器较少被使用。

5、HttpSessionActivationListener

1)、监听实现了该接口和 Serializable 接口的 Java 类的对象随 session 钝化和活化事件

> 活化: 从磁盘中读取 session 对象

> 钝化: 向磁盘中写入 session 对象

> session 对象存储在tomcat 服务器的 work\Catalina\localhost\contextPath 目录下. SESSION.SER

2)、该监听器不需要在 web.xml 文件中进行配置。

3)、

//在活化之后被调用.

public void sessionDidActivate(HttpSessionEvent se)

//在钝化之前被调用

public void sessionWillPassivate(HttpSessionEvent se)

HttpSessionEvent: getSession()

4)、该监听器较少被使用。

java web listener_JavaWeb:Listener相关推荐

  1. Java Web系列:Spring MVC基础

    1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...

  2. java web总结:servlet

    一,Servlet 简介 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间 ...

  3. java web solr_java:solr

    1.solr(数据导入solr自带数据库): ImportItemController.java: packagecom.solr.controller;importorg.springframewo ...

  4. java web总结:tomcat使用教程

    一.简介 Tomcat是一个实现了JAVA EE标准的最小的WEB服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.因 ...

  5. 第一个Java web项目:员工管理系统

    要求: 做一个登陆页面,实现登录,用户名和密码都是admin,登录成功后,用session记录用户名,登录失败,请提示失败原因. 做一个简单的管理系统,实现注册,修改,查询,删除 员工的功能,注册内容 ...

  6. Java Web系列:Hibernate 基础

    从以下5个方面学习hibernate ORM. (1)配置文件:hibernate.cfg.xml XML文件和hibernate.properties属性文件 (2)实体映射:1对多.多对多 (3) ...

  7. Java Web篇:导出等比例图片到Excel

    这两天帮一朋友做一简单的商品管理的系统,遇到这么一个需求,将想要导出的商品信息及图片导出到Excel中. 起初觉得功能还是比较简单的.做个Excel导入导出的Java开发户都知道,可以利用Apache ...

  8. java web 服务 构建与运行_Java Web 服务:构建与运行(影印版)

    基本详情信息 书名:Java Web 服务:构建与运行 ISBN:9787564119270 作者:卡林(Martin Kalin) 著 出版社:东南大学出版社 出版日期:2010-1-1 其他信息 ...

  9. Java web 环境搭建-Linux

    文章目录 一.初识 Tomcat 二.Java web 环境:Nginx+JDK+Tomcat+MySQL 三.环境部署流程 3.1 安装 JDK(java 解析器) 3.1.1 首先安装 gcc 3 ...

最新文章

  1. 代理(Proxy)模式
  2. axios02-其他使用方式(推荐)
  3. python cross val score_sklearn函数:cross_val_score(交叉验证评分)
  4. Centos jdk
  5. 面试复习笔记二(javaweb)
  6. 循环冗余校验码(CRC)详解
  7. 迪斯尼计算机动画,迪斯尼经典动画的十大运动规律
  8. iOS之安装包优化以及瘦身
  9. C语言实现文件分割功能
  10. 峰会•沙龙•招聘 | 记零数科技多线并进的一天
  11. 阿里云的短信服务acsClient+java
  12. 什么是数字认证?数字认证原理是什么?
  13. 反射练习- 改变private成员变量的值
  14. 大前端学习记二开发准备
  15. mj-trace 代码分析
  16. MPLS+BGP产生的数据层面的路由黑洞详解
  17. 中国女式运动和户外短裤行业市场供需与战略研究报告
  18. 杭电 2191 悼念512汶川大地震遇难同胞—珍惜现在,感恩生活
  19. ISO20000认证流程是什么,ISO20000认证好处
  20. 怎么修改淘宝主图尺寸大小?图片尺寸修改的方法

热门文章

  1. 20162309《程序设计与数据结构》第二学期课程总结
  2. 多核程序设计的相关基础知识----以误差扩散算法为例
  3. ajax请求成功后打开新开窗口(window.open())被拦截的解决方法
  4. java中随机生成汉字
  5. CUDA计算向量内积的程序(源自CUDA范例编程)
  6. mysql中floor函数的作用是什么?
  7. java 中对hashmap进行排序
  8. Python 监控主机程序,异常后发送邮件(我的第一只Python程序)
  9. EasyUI TextBox的onkeypress事件
  10. T-SQL 之 游标