文档章节

对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

粉丝 47
博文 42
码字总数 38353
作品 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
Linux内核4.4版本带来的网络新特性

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

dog250
2016/01/16
0
0
RAC中的各种IP-PUBLIC-VIP-Private-SCAN IP

1、PUBLIC和VIP Oracle RAC中每个节点都有一个虚拟IP,简称VIP, 与公网PUBLIC IP在同一个网段。vip 附属在public网口接口。 VIP和PUBLIC IP最主要的不同之处在于:VIP是浮动的,而PUBLIC IP...

长平狐
2013/09/17
526
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 风扇写着先生请自爱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @蚂蚁哈哈哈 :分享陈奕迅的单曲《落花流水》 《落花流水》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这里) @车谷 :我发现每天上班都好困 ...

小小编辑
27分钟前
2
0
centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
6
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部