javaweb程序设计第7章.ppt

上传人:wuy****n92 文档编号:80452540 上传时间:2023-03-23 格式:PPT 页数:21 大小:273.49KB
返回 下载 相关 举报
javaweb程序设计第7章.ppt_第1页
第1页 / 共21页
javaweb程序设计第7章.ppt_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《javaweb程序设计第7章.ppt》由会员分享,可在线阅读,更多相关《javaweb程序设计第7章.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第7 7章章 监听器监听器Listener Listener Java WebJava Web程序设计基础程序设计基础7.1 Listener7.1 Listener概述概述n什么是什么是Listener Listener nListenerListener的使用的使用7.1.1 7.1.1 什么是什么是Listener Listener nWeb应用程序员可以利用应用程序员可以利用Listener接接口,监听在口,监听在Container中某一个执行程中某一个执行程序,并且根据其应用程序的需求做出序,并且根据其应用程序的需求做出适当的响应适当的响应7.1.2 Listener7.1.2 L

2、istener的使用的使用n使用使用ListenerListener需要实现相应的需要实现相应的ListenerListener接口接口 nListenerListener需要在需要在web.xmlweb.xml中配置才生效中配置才生效 7.2 Listener7.2 Listener的分类的分类n监听对象的创建与销毁监听对象的创建与销毁 n实例:监听实例:监听SessionSession、RequestRequest与与ServletContextServletContextn监听对象的属性变化监听对象的属性变化 n监听监听SessionSession内的对象内的对象 Listener Li

3、stener 接口简介接口简介Listener 接口简介接口简介Listener接口接口Event类类ServletContextListenerServletContextEventServletContextAttributeListenerServletContextAttributeEventHttpSessionListenerHttpSessionEventHttpSessionActivationListenerHttpSessionBindingListenerHttpSessionBindingEventHttpSessionAttributeListenerServletR

4、equestListenerServletRequestEventServletRequestAttributeListenerServletRequestAttributeEvent7.2.1 7.2.1 监听对象的创建与销毁监听对象的创建与销毁 nHttpSessionListenerHttpSessionListener:监听监听SessionSession的创建与销毁的创建与销毁nServleContextListenerServleContextListener:监听监听ContextContext的创建与销毁的创建与销毁nServletRequestListenerServletR

5、equestListener:监听监听requestrequest的创建与销毁的创建与销毁 HttpSessionListenerHttpSessionListenern和和ServletContextListenerServletContextListener接口类似,接口类似,当有当有SessionSession产生或是消失,会自动调产生或是消失,会自动调用:用:sessionCreatedsessionCreated和和sessionDestroyedsessionDestroyed方法方法ServletContextListenerServletContextListenern一个实现

6、一个实现ServletContextListenerServletContextListener接接口的程序,当口的程序,当ContainerContainer启动时,程序启动时,程序会自动开始监听的工作,它首先会调会自动开始监听的工作,它首先会调用用contextInitialized()contextInitialized()接收对应的接收对应的javax.servlet.ServletContextEventjavax.servlet.ServletContextEvent事件事件ServletRequestListenerServletRequestListenernServletRe

7、questListenerServletRequestListener是是Servlet Servlet 2.42.4的新功能的新功能n该接口和该接口和ServletContextListenerServletContextListener接接口类似,当有请求产生或消失,会自口类似,当有请求产生或消失,会自动调用动调用requestInitialized()requestInitialized()和和requestDestroyed().requestDestroyed().7.2.2 7.2.2 实例:实例:监听监听SessionSession、RequestRequest与与Servlet

8、ContextServletContextnJavaJava中的类可以实现多个接口,因此中的类可以实现多个接口,因此实现实现ListenerListener时可以用一个类实现多时可以用一个类实现多个个ListenerListener接口。这样的好处是多种接口。这样的好处是多种ListenerListener一块儿工作,使用同一个类一块儿工作,使用同一个类的资源的资源 public class ListenerTest implements HttpSessionListener,ServletContextListener,ServletRequestListener 7.2.3 7.2.3

9、监听对象的属性变化监听对象的属性变化 nListenerListener用于监听用于监听sessionsession、requestrequest、contextcontext的属性变化的属性变化 ServletContextAttributeListenerServletContextAttributeListenerHttpSessionAttributeListenerHttpSessionAttributeListenerServletRequestAttributeListener ServletRequestAttributeListener ServletContextAttri

10、buteListenerServletContextAttributeListenern一个实现一个实现ServletContextAttributeListenerServletContextAttributeListener接接口的程序,它能够监听口的程序,它能够监听ApplicationApplication范范围的变化围的变化HttpSessionAttributeListenerHttpSessionAttributeListenern和和ServletContextAttributeListenerServletContextAttributeListener接口接口类似,只不过该

11、接口是监听类似,只不过该接口是监听SessionSession范围的范围的变化的变化的nHttpSessionAttributeListenerHttpSessionAttributeListener和和HttpSessionBindingListenerHttpSessionBindingListener两个功能很两个功能很相似,但是也有一些不同点:相似,但是也有一些不同点:HttpSessionAttributeListenerHttpSessionAttributeListener需要在需要在web.xmlweb.xml中设定。中设定。HttpSessionAttributeListen

12、erHttpSessionAttributeListener监听监听webweb站点站点所有所有SessionSession范围的变化;而范围的变化;而HttpSessionBindingListenerHttpSessionBindingListener只单纯监听实现只单纯监听实现它的类它的类ServletRequestAttributeListenerServletRequestAttributeListenernServletRequestAttributeListenerServletRequestAttributeListener也也是是Servlet2.4Servlet2.4的新功

13、能的新功能n该接口和该接口和ServletContextAttributeListenerServletContextAttributeListener接接口功能相似,只不过该接口监听口功能相似,只不过该接口监听RequestRequest范围的变化范围的变化7.2.4 7.2.4 监听监听SessionSession内的对象内的对象 n主要包括:主要包括:HttpSessionBindingListenerHttpSessionBindingListenerHttpSessionActivationListenerHttpSessionActivationListenerHttpSessio

14、nBindingListenerHttpSessionBindingListenern当我们实现这个接口后,只要对象加当我们实现这个接口后,只要对象加入入SessionSession范围或从范围或从SessionSession范围中移范围中移除时,除时,ContainerContainer分别会自动调用下列分别会自动调用下列两个方法:两个方法:valueBound(HttpSessionBindingEvent event)valueBound(HttpSessionBindingEvent event)valueUnbound(HttpSessionBindingEvent event)va

15、lueUnbound(HttpSessionBindingEvent event)HttpSessionActivationListenerHttpSessionActivationListenern该接口主要用于:同一个该接口主要用于:同一个SessionSession转移至不转移至不同同JVMJVM的情形,例如:负载平衡的情形,例如:负载平衡(Load(Load Balancing)Balancing)机制。机制。n当当SessionSession被存储起来,并且等待转移至另被存储起来,并且等待转移至另一个一个JVMJVM,这段时间成为失效状态,若,这段时间成为失效状态,若SessionS

16、ession中的属性对象实现该接口时,中的属性对象实现该接口时,ContainerContainer会自动调用会自动调用sessionWillPassivatesessionWillPassivate方法,通知该对象方法,通知该对象的的SessionSession已变为失效状态。当已变为失效状态。当SessionSession转转移至其他移至其他JVMJVM后,它又成为有效状态,此时后,它又成为有效状态,此时ContainerContainer会自动调用会自动调用sessionDiaActivatesessionDiaActivate方法方法7.3 Listener7.3 Listener使用案例使用案例n单态登录单态登录 n显示在线用户显示在线用户 Q&AQ&A这是我,我是JWShock?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁