JSP之监听器Listener(二)

ServletContextAttributeListener

用于监听ServletContext也就是application范围内属性的变化,实现该结构主要重写三个方法

  • attributeAdded()方法:当向application中添加参数的时候会自动调用
  • attributeRemoved()方法:当把application中的参数移除的时候调用
  • attributeReplaced()方法:当修改application中的参数时调用
 1 package com.huayu.listener;
 2
 3 import javax.servlet.ServletContextAttributeEvent;
 4 import javax.servlet.ServletContextAttributeListener;
 5 import javax.servlet.annotation.WebListener;
 6 @WebListener
 7 public class Listener3 implements ServletContextAttributeListener{
 8
 9     @Override
10     public void attributeAdded(ServletContextAttributeEvent event) {
11         String named=event.getName().toString();
12         String value=event.getValue().toString();
13         System.out.println("application中添加了一个"+named+"变量值为"+value);
14
15     }
16
17     @Override
18     public void attributeRemoved(ServletContextAttributeEvent event) {
19         String named=event.getName().toString();
20         String value=event.getValue().toString();
21         System.out.println("application中添移除一个"+named+"变量值为"+value);
22
23
24
25     }
26
27     @Override
28     public void attributeReplaced(ServletContextAttributeEvent event) {
29         String named=event.getName().toString();
30         String value=event.getValue().toString();
31         System.out.println("application中"+named+"变量值变为"+value);
32     }
33
34 }

ServletRequestListener

用来监听用户的请求到达,请求的结束

requestInitialized:用户请求到达,被初始化时触发该方法

requestDestroyed:用户请求结束,被销毁时触发该方法

ServletRequestAttributeListener

用来监听request范围内变量的变化

attributeAdded()

attributeReplaced()

attributeRemoved()

 1 package com.huayu.listener;
 2
 3 import javax.servlet.ServletRequest;
 4 import javax.servlet.ServletRequestAttributeEvent;
 5 import javax.servlet.ServletRequestAttributeListener;
 6 import javax.servlet.ServletRequestEvent;
 7 import javax.servlet.ServletRequestListener;
 8 import javax.servlet.annotation.WebListener;
 9 import javax.servlet.http.HttpServletRequest;
10 @WebListener
11 public class Listener4 implements ServletRequestListener,ServletRequestAttributeListener{
12
13     @Override
14     public void requestDestroyed(ServletRequestEvent arg0) {
15
16         HttpServletRequest request=(HttpServletRequest) arg0.getServletRequest();
17         System.out.println("---发向"+request.getRequestURI()+"请求被销毁-----");
18
19     }
20
21     @Override
22     public void requestInitialized(ServletRequestEvent arg0) {
23         HttpServletRequest request=(HttpServletRequest) arg0.getServletRequest();
24         System.out.println("---发向"+request.getRequestURI()+"请求被初始化-----");
25     }
26
27     @Override
28     public void attributeAdded(ServletRequestAttributeEvent arg0) {
29             ServletRequest request=arg0.getServletRequest();
30             String name=arg0.getName();
31             String value=arg0.getValue().toString();
32             System.out.println(request+"范围内添加了名为"+name+"值为"+value+"的属性");
33
34     }
35
36     @Override
37     public void attributeRemoved(ServletRequestAttributeEvent arg0) {
38         ServletRequest request=arg0.getServletRequest();
39         String name=arg0.getName();
40         String value=arg0.getValue().toString();
41         System.out.println(request+"范围内添加了名为"+name+"值为"+value+"的属性被删除");
42
43     }
44
45     @Override
46     public void attributeReplaced(ServletRequestAttributeEvent arg0) {
47         ServletRequest request=arg0.getServletRequest();
48         String name=arg0.getName();
49         String value=arg0.getValue().toString();
50         System.out.println(request+"范围内添加了名为"+name+"值为"+value+"的属性被替换了");
51
52     }
53
54 }

HttpSessionListener

用于监听用户session的创建和销毁

sessionCreated(HttpSessionEvent se):当session

被建立的时候调用

sessionDestroyed(HttpSessionEvent se)

当session没有任何客户端与之链接的时候执行

HttpSessionAttributeListener

使用方法同上

时间: 2024-10-29 19:11:29

JSP之监听器Listener(二)的相关文章

JSP之监听器Listener(一)————————ServletContextListener

摘要:        当web应用在web容器中运行时,web应用内部会不断地发生各种事件:如web应用被启动东,web应用被停止,用户session开始,用户session结束,用户请求到达等等……,这些web事情对开发者是透明的,通过监听器我们可以知道web容器里面发生的任何事情. ServletContextListener 常用的监听器有 ServletContextListener:用来监听web应用的启动和关闭 contextInitialized(ServletContextEve

【Listener】利用监听器Listener以MVC的思想通过JSP+Servlet+JDBC完成在线用户列表的输出

Servlet,监听器Listener与<[Filter]拦截器Filter>(点击打开链接)是JSP的三大核心组件,实际上监听器Listener相当于数据库里面的触发器,一旦用户触发了某种行为,则可以通过相关的Java文件执行相应的程序.用户在浏览网页的过程中,主要有打开浏览器的动作,对应的行为是Session的创建,可是,用户关闭浏览器的动作,并不是对应Session的消失,因此对于Session的消失我们意义不大:访问任意网页的动作,对应的行为是request请求的创建,request的

JavaWeb学习 (二十七)————监听器(Listener)在开发中的应用

监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听器技术来实现这个功能了. 1 package me.gacl.web.listener; 2 3 import javax.servlet.ServletContext; 4 import javax.servlet.http.HttpSessionEvent; 5 import javax.ser

过滤器(Filter)、拦截器(Interceptor)、监听器(Listener)

一.Filter 过滤器 1.简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能. 它主要用于对用户请求进行预处理,也可以对HttpServletResponse 进行后处理.使用Filter 的完整流程:Filter 对用户请求

JavaWeb-18 (JDBC之分页与监听器listener)

JavaWeb-18 JDBC之分页与监听器listener 一.分页 1.分页概述:分页的结果就是要让指定的记录加载到内存 2.原因: 1.人的习惯 2.内存的限度(核心问题) 3.屏幕的限度 3.如何分页: 不同的环境方式不一样 3.1.数据库层面: select * from acount limit startIndex,size;//只是针对MySql而言(startIndex从0开始,size:共查询多少条记录) select * from acount limit 0,3; 第一页

深入分析JavaWeb Item39 -- 监听器(Listener)学习进阶

一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器. 这三个监听器接口各自是ServletContextAttributeListener, HttpSessionAttributeListener 和ServletRequestAttributeListener,这三个接口中都定义了三个方法来处理被监听对象中的属性的添加,删除和替换

深入分析JavaWeb Item38 -- 监听器(Listener)快速学习

一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行. 1.2.监听器案例--监听window窗口的事件监听器 package me.gacl.listener.demo; import java.awt.Frame; imp

javaWeb学习总结(11)- 监听器(Listener)学习

一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其 实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法 立即被执行. 1.2.监听器案例——监听window窗口的事件监听器 package me.gacl.listener.demo; import java.awt.Frame; i

Servlet学习笔记(九):监听器Listener详解

一.简介 (一)概述 1.Listener 用于监听 java web程序中的事件,例如创建.修改.删除Session.request.context等,并触发响应的事件. 2. Listener 对应观察者模式,事件发生的时候会自动触发该事件对应的Listeer. Listener 主要用于对 Session.request.context 进行监控.servlet2.5 规范中共有 8 种Listener  . (二)实现 1.不同功能的Listener 需要实现不同的 Listener