文档章节

对Listener的一些理解

whaon
 whaon
发布于 2013/03/08 11:43
字数 260
阅读 327
收藏 4

一般使用spring的时候,都会在web.xml中添加以下代码:


<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext*.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>


有时候还会添加:


<listener>
    <listener-class>
      org.springframework.security.web.session.HttpSessionEventPublisher
    </listener-class>
  </listener> 
以前我也只是知其然而不知其所以然,这些天稍微研究了一番,看了下源码


发现

public class ContextLoaderListener extends ContextLoader implements ServletContextListener


原来ContextLoaderListener是实现了ServletContextListener,所以spring便在ServletContext初始化后,来对context-param(该元素是最先加载的,具体web.xml中个元素的加载顺序请看http://my.oschina.net/dxqr/blog/112437)所指定的spring配置文件进行加载,进而启动spring

当我们要使用spring对session进行操作时,就要配置HttpSessionEventPublisher,该类实现了HttpSessionListener接口

实现ServletContextListener的类只会在容器启动后调用一次,以后不再调用

而实现HttpSessionListener的类,在session创建时会调用sessionCreated方法,session销毁时调用sessionDestroyed方法

Listener的加载和其在web.xml中配置的顺序有关,最上面的最先加载

© 著作权归作者所有

共有 人打赏支持
whaon

whaon

粉丝 45
博文 40
码字总数 36716
作品 0
厦门
程序员
私信 提问
从tomcat中学习观察者模式

首先需要了解何为观察者模式。 有2个人A、B,其中A会随机做一些动作,B作为观察者,他会观察A的动作。如果B对A的某个动作感兴趣,那么他就会在A做这个动作的时候做一些自己的动作。这就是观察...

元圈
2012/07/09
0
0
PPAPI与Browser间使用AsyncIPC通信

版权声明:本文为foruok原创文章,转载请通过订阅号“程序视界”联系foruok获取授权。 https://blog.csdn.net/foruok/article/details/50637584 采用AsyncIpc这个项目(https://github.com/...

foruok
2016/02/05
0
0
Spring自定义Listener(监听器)的使用

在java web项目中我们通常会有这样的需求:当项目启动时执行一些初始化操作,例如从数据库加载全局配置文件等,通常情况下我们会用javaee规范中的Listener去实现,例如 public class ConfigL...

l253272670
2017/08/30
0
0
Java for Web学习笔记(八九):消息和集群(4)定制发布和订购

SimpleApplicationEventMulticaster 本学习一方面进一步了解Spring对publish/subcribe的支持,另一方面也是为了后面如何利用webSocket在集群中传递事件的小例子作准备。spring将发布的消息称...

flowingflying
2017/11/11
0
0
Linux内核4.4版本带来的网络新特性

本文题目有点大,但其实我只想描述一些我个人一直比较关注的特性,并且不会太详细,跟往常一样,主要是帮忙理清思路的,不会分析源码。这主要是为了哪一天突然忘了的时候,一目十行扫一眼就能...

dog250
2016/01/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

(三)Honghu Cloud云架构一定时调度平台

2018-11-16 14:45:08 产品简介 鸿鹄云架构是一个完全由Java编写的开源任务调度框架,为企业在任务调度提供了简单却强大的机制。开发人员根据业务规则,使用调度平台简单配置,就可以让任务在...

itcloud
23分钟前
1
0
护航Lazada双11购物节 阿里云CDN全球化火力全开

摘要: Lazada是东南亚最大B2C平台,业务范围覆盖印度尼西亚、马来西亚、菲律宾、新加坡、泰国和越南六个东南亚国家,覆盖大约6亿消费者。在双11期间,阿里云CDN为Lazada电商内容加速,并且通...

阿里云官方博客
23分钟前
1
0
常用设计模式之代理模式解析

1. 简介 代理模式(Proxy Pattern)是常用设计模式之一。代理模式的定义:Provide a surrogate or placeholder for another object to controlaccess to it(为其他对象提供一种代理以控制对这个...

老道士
24分钟前
3
0
Vue瀑布流插件的使用示例

我自己写的一个的Vue瀑布流插件,列数自适应,不用设置每个卡片的高度。 测试页面:Page.vue 模板页面:WaterFollow.vue 和 WFColumn.vue 在Page.vue中,修改itemW的值,设置每列的最小宽度。...

peakedness丶
24分钟前
2
0
多种负载均衡算法及其Java代码实现【网络上较好的转载】

首先给大家介绍下什么是负载均衡(来自百科) 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和 服务器的带宽、增加 吞吐量、加强网络数据处理能力、提高网...

stys352
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部