zoukankan      html  css  js  c++  java
  • java监听器简述

    监听器的概念

    所谓监听器就是对内置对象的状态或者属性变化进行监听并且做出反应的特殊servlet,并且也需要在web.xml文件中进行相关配置。
    内置对象的状态变化:初始化销毁,也就是说当内置对象初始化、销毁我们也能监听,并且做出相应的反应。
    内置对象内得属性变化:增加删除修改的操作也能被监听并做出反应

    监听request内置对象

    1. 首先创建request监听器,不同的监听器,需要不同的接口,request内置对象的监听器接口“javax.servlet.ServletRequestListener”。
    import javax.servlet.ServletRequestEvent;
    import javax.servlet.ServletRequestListener;
    import javax.servlet.annotation.WebListener;
    //注解配置
    @WebListener
    public class RequestListener implements ServletRequestListener {
    	
    	@Override
    	public void requestDestroyed(ServletRequestEvent sre) {
    		// 监听request销毁后的做出的反应
    		System.out.println("销毁request内置对象");
    	}
    
    	@Override
    	public void requestInitialized(ServletRequestEvent sre) {
    		// 监听request初始化后的反应
    		System.out.println("创建request内置对象");
    	}
    }
    
    1. 由于代码使用了注解配置,我就不用再去web.xml里面进行设置配置。web.xml里面的配置如下

    2. 进行简单的测试,测试代码如下:

    //这里是注解配置
    @WebServlet(urlPatterns= {"/emp/*"})
    public class EmpServlet<V> extends HttpServlet {
    @Override
    	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		for (int i = 0; i < 5; i++) {
    			System.out.println(i);
    		}
    	}
    }
    

    在浏览器的地址栏输入:http://localhost/+项目路径
    测试结果如下:
    在这里插入图片描述
    结果可以说明,request的初始化,销毁过程都被监听到了,并且监听器也做出了反应。

    监听器的种类用途

    监听器有八种类型

    Listener接口 Event类
    ServletContextListener ServletContextEvent
    ServletContextArrtibuteListener ServletContextAttributeEvent
    HttpSessionListener HttpSessionEvent
    HttpSessionActivationListener HttpSessionEvent
    HttpSessionAttributeListener HttpSessionBindingEvent
    HttpSessionBindingListener HttpSessionBindingEvent
    ServletRequestListener ServletRequestEvent
    ServletRequestAttributeListener ServletRequestAttributeEvent

    监听器的平常用途

    • 统计在线人数
    • 加载初始化信息
    • 统计网站访问量
    • 实现访问监控
  • 相关阅读:
    自定义IP原来如此简单
    [转]如何在NIOS II中读写EPCS剩余空间
    坏了的芯片居然又好了一片,太神奇了
    今天报废两片EP3C5E144
    Quartus II 订购版 v10.1 正式推出下载
    发现用JTAG下载程序到EPCS比用AS方式下载速度快
    如何解决No EPCS layout data looking for section [EPCSXXXXXX]
    QII丰衣足食
    Why does my Cyclone III FPGA fail to access the EPCS device using the EPCS Controller module?
    <转载>在.NET中基于Windows消息的IPC实现
  • 原文地址:https://www.cnblogs.com/xj619/p/10774323.html
Copyright © 2011-2022 走看看