- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Servlet过滤器和监听器优秀培训书
13.2.2 ServletContextListener接口 在Web应用程序启动时需要执行一些初始化任务时,可以编写实现了ServletContextListener接口的监听器类。 在ServletContextListener接口中定义了两个事件处理方法,分别是contextInitialize()和contextDestroyed()。 ServletContextListener整个工作过程如图13-18所示 13.2.3 ServletContextAttributeListener接口 ServletContext的属性是由Web应用程序中所有的servlet所共享的。为保证属性在整个Web应用范围内的一致性,有必要监视ServletContext对象的任何属性的改变。ServletContextAttributeListener侦听器就是为了这一目的而设立的。该侦听器是一个实现了接口ServletContextAttributeListener的Java类 图13-19 ServletContextAttributeListener操作顺序图 【13-6】开发一个对ServletContext及其属性进行监听的程序。 第一步:编写TestListener.java 第二步:在web.xml添加如下代码部署监听器 第三步:编写测试JSP页面testContext.jsp 第四步:看运行结果c:\test.txt文件 13.2.4 HttpSessionBindingListener接口 如果一个对象实现了HttpSessionBindingListener接口,当这个对象被绑定到Session中或从Session中删除时,Servlet容器会通知这个对象,这个对象在接收到通知后,做初始化操作或清除状态的操作。 HttpSessionBindingListener接口提供了如下方法: public void valueBound(HttpSessionBindingEvent event) 当对象正在被绑定到Session中,Servlet容器通知对象它将被绑定到某个会话并标识该会话。 public void valueUnbound(HttpSessionBindingEvent event) 当从Session中删除对象时,Servlet容器通知对象要从某个会话中取消对它的绑定并标识该会话 容器通过HttpSessionBindingEvent对象来通知侦听器发生的事件的具体信息。提供了2种方法: public HttpSessionBindingEvent(HttpSession session, String name) 构造一个事件,通知对象它已经被绑定到会话,或者已经从会话中取消了对它的绑定。要接收该事件,对象必须实现 HttpSessionBindingListener。 public HttpSessionBindingEvent(HttpSession session, String name, Object value) 构造一个事件,通知对象它已经被绑定到会话,或者已经从会话中取消了对它的绑定。要接收该事件,对象必须实现 HttpSessionBindingListener。 13.2.5在线人数统计程序 当HttpSession对象创建或者销毁时,Servlet容器会产生HttpSessionEvent事件,而HttpSessionListener就是用来处理HttpSessionEvent事件的,它包含的两个方法就是分别用来处理HttpSession对象的创建和销毁。 【13-7】利用HttpSessionBindingListener接口,编写一个在线人数统计的程序。 用户登录成功后,显示欢迎信息,并同时显示当前在线的总人数和用户名单。当一个用户退出登录或Session超时时,从在线用户名单中删除这个用户,同时将在线的总人数减1值。在程序的开发中,利用一个实现了HttpSessionBindingListener接口的监听器,当对象被绑定到Session或从Session中被删除时,更新当前在线的用户名单。 第13章 使用Servlet过滤器和监听器 本章学习目标: 理解过滤器和监听器的执行过程和作用 掌握过滤器和监听器的开发和部署 13.1 Filter在Web开发中的应用 过滤器(Filter)是在Servlet2.3规范中引入的新功能,并在Servlet2.4规范中得到增强。Servlet过滤器是一种Web组件,它们拦截请求和响应,以便查看、提取或以某种方式操作客户机和服务器之间交换的数据。 13.1.1 过滤器概述 对Web应用来说,过滤器就是驻留
文档评论(0)