javaweb 监听器
2018-02-01 13:38
656 查看
监听器Listener
监听器: 监听器 主要监听 Request, Session, ServeltContext对象,以及其属性的变化。 主要监听任务: 1. 监听Request, ServeltContext, Session对象的创建与销毁; Request: ServletRequestListener Session: HttpSessionListener ServeltContext: ServletContextListener 2. 监听Request,ServletContext, Session对象的属性值变化 Request: ServletContextAttributeListener Session: HttpSessionAttributeListener ServletContext: ServletRequestAttributeListener 3. 监听session中保存的JavaBean的状态 HttpSessionBindingListener 创建与销毁监听 1. ServletRequest 一个用户一次访问就创建一个ServletRequest. 监听Request, 实现ServletContextListener子类 (1) 监听创建. requestInitialized(.ServletRequestEvent sce ); (2) 监听销毁. requestDestroyed( ServeltRequestEvent sce ); (3) web.xml中配置: <listener> <listener-class>cn.test.listener.MyServletRequestListener</listener-class> </listener> 2. Session. 一个用户在web的会话访问期间,创建一个HttpSession 监听HttpSession,实现HttpSessionListener (1) 监听创建: sessionCreated( HttpSessionEvent se ) (2) 监听销毁: sessionDestroyed(.HttpSessionEvent se ); (3) web.xml配置 <listener> <listener-class>cn.test.listener.MySessionContextListener</listener-class> </listener> 3. ServletContext 整个appweb运行期间,只创建一个ServletContext; 监听ServletContext, 实现ServletContextListener (1) 监听创建: contextInitialized(.ServletContextEvent sce ); (2) 监听销毁: contextDestroyed(.ServeltContextEvent sce ); (3) web.xml配置: <listener> <listener-class>cn.test.listener.MyServletContextListener</listener-class> </listener> 4000 ; 属性变化监听 主要监听 域对象 使用 setAttribute, removeAttribute方法。 ServletContextAttributeListener 专门用于监听ServletContext对象中的属性的变化情况。 HttpSessionAttributeListener 专门用于监听session对象中的属性的变化情况。 ServletRequestAttributeListener 专门用于监听request对象中的属性的变化情况。 它们中的监听”添加”,”修改”,”删除”的方法名称一致. (1) attributeAdded(.ServletContextAttributedEvent scab ); 监听属性添加 (2) attributeRemoved(.ServletContextAttributedEvent scab ); 监听属性删除 (3) attributeReplaced( ServletContextAttributedEvent scab ); 监听属性修改 Session中的Bean监听 当我们给Session中增加,删除一个java对象时,会触发专门用来监听session中对象变化的监听器中的方法。 属性监听 与 bean监听的区别: (1) 属性监听: 对三大容器中的任何属性(对象或者基本类型数据)的变化进行监听。 (2) Bean监听: 只监听javabean对象在session中的保存和移除过程。 HttpSessionBindingListener接口; (1) valueBound(.HttpSessionBindingEvent event ) 监听对象绑定的方法。 (2) valueUnbound(.HttpSessionBindingEvent event ); 监听对象解绑的方法 (3) web.xml配置 <listener> <listener-class>cn.test.listener.MySessionBindingListener</listener-class> </listener> 案例: 1. 根据ServletContextListener来统计网站访问次数 2. 根据HttpSessionListener来统计访问人数 3. 根据HttpSessionBindingListener来统计会员访问人数
相关文章推荐
- JavaWeb中定时器随着容器启动运行(包含监听器)
- 超全面的JavaWeb笔记day20<监听器&国际化>
- java web 监听器详解
- java web 监听器详解
- JavaWeb基础—监听器Listener
- java web 监听器学习
- javaWeb之监听器简介
- java web中监听器的使用
- JavaWeb之Listener监听器
- java web listener 监听器
- 20160417javaweb之servlet监听器
- java-WEB中的监听器Lisener
- JavaWeb 监听器
- javaweb 过滤器和监听器总结
- java web listener 监听器
- JavaWeb——监听器
- 慕课网 java web ---监听器
- JAVA Web开发技术应用——监听器
- javaWeb之监听器的分类2
- Java-Web监听器