2019独角兽企业重金招聘Python工程师标准>>>

0、Listener是Servlet的一个功能组件:

(1)用于application,session,request三个对象创建、销毁

(2)向其内部添加、修改、删除属性时自动执行代码;

(3)可监听客户端的请求,服务端的操作等;

1、分为一下三类:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

(1)ServletContext监听;

(2)Session监听

session超时配置(web.xml):

<session-config><session-timeout>120</session-timeout><!--session120分钟后超时销毁-->
</session-config>

session无效:

public void invalidate();//使session失效方法。session.invalidate();

(3)Request监听;

2、在web.xml中配置:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

(1)Listener配置信息必须在Filter和Servlet配置之前;

(2)ServletContentListener比Servlet和Filter都优先,而销毁比Servlet和Filter都慢;

3、spring使用ContextLoaderListener加载ApplicationContext配置信息;》》》》》》》》》》》》

(1)启动Web容器时,自动装配ApplicationContext配置信息;

(2)实现了ServletContextListener这个接口;

(3)web.xml中不写任何参数配置信息,默认的路径是"/WEB-INF/applicationContext.xml";

(4)或自己配置:

    <context-param><param-name>contextConfigLocation</param-name><param-value>classpath:xml/spring-context.xml</param-value></context-param>

4、Spring使用IntrospectorCleanupListener清理缓存:》》》》》》》》》》》》》》》》》》》》

(1)作用:在web应用关闭时刷新JDK的JavaBeans的Introspector缓存;

(2)刷新Introspector缓存可以确保Web应用程序的类加载器以及其加载的类正确的释放资源;

(3)Introspector被用来分析应用程序类,系统级的Introspector缓存将持有这些类的硬引用;

(4)硬引用使得这些类和Web应用程序的类加载器,在Web应用程序关闭时不会被垃圾收集器回收;

(5)IntrospectorCleanupListener清理硬引用,保证其可以被回收;

(6)刷新整个Introspector缓存是唯一清理方法;

(7)使用Spring内部的bean机制时,不需要使用此监听器,Spring本身不产生泄漏;

(8)简单Introspector泄漏将会导致整个Web应用程序的类加载器不会被回收;

(9)类加载器不会被回收导致:该应用程序所有的静态类资源(比如:单实例对象)都没有得到释放;

(10)IntrospectorCleanupListener应该注册为web.xml的第一个Listener,保证整个web应用生命周期;

5、支持注解《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《

(1)Servlet3.0中的监听器跟之前2.5的差别不大,唯一的区别就是增加了对注解的支持;

(2)@WebListener注解,可以取代web.xml文件中配置;

 <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>

转载于:https://my.oschina.net/u/3847203/blog/1808786

Servlet监听器Listener相关推荐

  1. servlet监听器Listener介绍和使用

    1监听器Listener 1.1 Listener简介 javaEE包括13门规范 在课程中主要学习 servlet技术 和 jsp技术,其中 servlet规范包括三个技术点:servlet,lis ...

  2. servlet监听器Listener(理论+例子)

    Listener采用了观察者模式(24种模式之一),Listener是servlet的监听器,他可以监听客户端的请求.服务器端的操作等, 通过监听器,可以自动激发一些操作.比如:监听在线用户数量 当增 ...

  3. SpringBoot定义三大组件Servlet,过滤器Filter,监听器Listener

    SpringBoot定义三大组件Servlet,过滤器Filter,监听器Listener 1.定义组件的配置类: com.example.mybatis2018.config.MyServletCo ...

  4. servlet/filter/listener/interceptor区别与联系

    2019独角兽企业重金招聘Python工程师标准>>> servlet/filter/listener/interceptor区别与联系 博客分类: java 由于最近两个月工作比较 ...

  5. linux服务器在线人数,servlet监听器实现在线人数统计源码实例

    servlet监听器实现在线人数统计 一.准备知识 1.servlet:servlet是一种运行服务器端的Java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求 ...

  6. Servlet 监听器

    可参考博文:Session 的钝化与活化 (一)Servlet 中的作用域总结 趁着这个知识点顺便把Servlet 中的四大作用域也在这篇博文中总结一下. application域(ServletCo ...

  7. javaweb学习总结(四十四)——监听器(Listener)学习

    一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通 ...

  8. 大数据WEB阶段(十六)JavaEE三大 核心技术之监听器Listener

    Listener监听器 一.概述 Servlet三大核心技术之一 Servlet.Filter.Listener Servlet技术规范中定义了八种监听器用来监听web应用开发中对应的事件. 监听器可 ...

  9. Java Web开发——Servlet监听器

    一.Servlet监听器的概念 Servlet监听器是Servlet规范中定义的一种特殊类,用于监听ServletContext.HttpSession和ServletRequest等域对象的创建与销 ...

最新文章

  1. VScode快速一键生成html、vue、jsx、ajax、sass、docker等代码片段
  2. lapack安装_VASP环境安装-BoltzTraP-1.2.5安装
  3. [原] 淘宝SKU组合查询算法实现
  4. 2014广州赛区比赛总结
  5. 将Object structure IBASE从UI上隐藏
  6. 云服务器主机内网 ip 和外网 ip 的区别
  7. python读取dicom文件的包_python 读取DICOM头文件的实例
  8. 为什么调用thread.Abort(),线程不会马上停止
  9. 如何引用传递参数从一个函数中得到多个返回值
  10. 刷爆抖音,评分9.7!这本Python书太酷了!程序员:太爱!
  11. zabbix报错cannot set resource limit: [13] Permission denied解决方法
  12. POJ2492A Bug's Life【并查集+根节点偏移】
  13. 基于jsonwebtoken(JWT) 的web认证 (Node版实现)
  14. QT Designer的安装和使用
  15. 斯坦福大学公开课第四课 Views 视图
  16. 算法学习总结(2)——温故十大经典排序算法
  17. 省市区三级联动area
  18. hello yocto
  19. 《C++ Primer (5th Edition)》笔记-Part IV. Advanced Topics
  20. 信息系统项目管理师(进阶篇)-信息化与信息系统

热门文章

  1. 开启AngularJS学习之旅
  2. 文件翻译002片:Process Monitor帮助文档(Part 2)
  3. C/C++:sizeof('a')的值为什么不一样?
  4. [C++再学习系列] 前置++与后置++
  5. Hadoop Hive迁移至MaxCompute
  6. AIO-3128C四核高性能主板
  7. 区块链应用和法律规范
  8. 【深度学习之美】卷地风来忽吹散,积得飘零美如画(入门系列之十)
  9. 企业云部署要如何选择IaaS PaaS和SaaS
  10. jQuery EasyUI使用教程之使用标记创建树形菜单