Listener

107. 我们再介绍一个比较重要的概念,Listener
Listener叫监听器,也就是说当我们的某个状态发生改变的时候,他就能监测到。

其实进一步来理解ajax,他就是一个监听啊,我写一个方法他要回调啊,那个方法其实就是注册到注册表里,当ajax处理完后,马上调用。


108. 了解Listener的机制,Listener可以监听服务器端相关的状态变化,当服务器端状态发生改变,将调用相应的Listener,这种机制可以成为回调机制,ServletContextListener配置如下
<listener>
<listener-class>com.bjpowernode.drp.util.listener.InitListener</listener-class>
</listener>


109.这里我们介绍一个 监听器叫ServletContextListener监听器,也就是说servletContext对象一被创建我们马上就知道。他有这种监听器,


110.   ServletContext对象就一个,全局的,大家都能访问放在这里的东西。


111.  这个监听器 ServletContextListener 什么时候触发 ,在tomcat启动的时候,这个servetContext对象就被创建了,一创建我们马上就知道了。


112.   我们以前不是把我们的对象放在servletContext里面了嘛,然后以后我们的servlet
 Context里面来取,我们也可以用一个Listener,叫
ServletContextListener,因为他知道得更早,他要提前于serveltContext执行。


113.  以后再介绍其它几个类型的。

 
114.    你到帮助文档中去看啊ServletContextListener这是一个接口,只要我们实现他就可以了,实现他再配置到配置文件里,当servletContext对象一创建,我们马上就知道了。


115.  这个接口里面有两个方法,其中一个就是
contextInitialized()方法,还有一个contextDestoryed()这个方法是销毁,知道是什么吧,销毁的时候就会用这个了。


116.  采用ServletContextListener将BeanFactory放入到ServletContext中


117.  以前老师讲什么监听器要配置在web.xml文件里面的最前面,哪有这回事啊,王勇就是随便一放就搞定了,不过我觉得放最前面直观些。


118.  他还有一些监听器,比如,当session里面加上东西了,session里面的东西被改变了,或session里面的东西被删除了,我们马上就会知道 ,就是这个   HttpSessionAttributeListener
当session对象一被创建,我们马上就知道了,为什么能知道,他调用咱们了,这其实就是一种回调。
我们把东西写完,然后配了,他就给我new 了。
new 了之后,他一看这个对象创建了,然后就调用了,调哪个方法呢?直接调  contextInitialized()方法了。


119.  所以这就是一种回调机制,采用这种回调,把
东西推给我们了,我们不是主动去拽着说我要知道这件事,他主动推过来了。   可以理解为这是一种推技术。

 

 

1.  Listener用来监听服务器端的变化,使用方式一般都 是回调,你只要实现了我的接口,我就认识你。


2.  这种机制现在很多,包括我们后面要讲的hibernate,他从3.0之后,他的内核全部使用,大部分使用了以这种事件为机制,只要你注册一个东西他会告诉你。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值