zoukankan      html  css  js  c++  java
  • Servlet 监听器Listner

    定义:

         专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。

         Servlet 规范为每种事件监听器都定义了相应的接口,它用于监听 web 应用程序中的 ServletContext, HttpSession 和 ServletRequest 等域对象的创建与销毁事件。

    接口实现类:

       编写的事件监听器程序只需实现这些接口

    public class HelloServletContextListner 
    	implements ServletContextListener, ServletRequestListener, HttpSessionListener {
    
    	@Override
    	public void contextInitialized(ServletContextEvent sce) {
    		System.out.println("ServletContext 对象被创建。 " + sce.getServletContext());
    	}
    
    	@Override
    	public void contextDestroyed(ServletContextEvent sce) {
    		System.out.println("ServletContext 对象被销毁。" + sce.getServletContext());
    	}
    
    	@Override
    	public void sessionCreated(HttpSessionEvent se) {
    		System.out.println("HttpSession 被创建。");
    	}
           
    	@Override
    	public void sessionDestroyed(HttpSessionEvent se) {
    		// TODO Auto-generated method stub
    		System.out.println("HttpSession 被销毁");
    	}
    
    	@Override
    	public void requestDestroyed(ServletRequestEvent sre) {
    		// TODO Auto-generated method stub
    		System.out.println("ServletRequest 被销毁");
    	}
    
    	@Override
    	public void requestInitialized(ServletRequestEvent sre) {
    		// TODO Auto-generated method stub
    		System.out.println("ServletRequest 被创建");
    	}
    
    }

    声明注册:

          Servlet事件监听器需要在 web 应用程序的 web.xml 文件中进行注册

    	<!-- 配置监听 -->
    	<listener>
    		<listener-class>com.demo.listener.HelloServletContextListner</listener-class>
    	</listener>
    

    应用场景:  

          1.ServletContextListener 是最常用的 Listener, 可以在当前 WEB 应用被加载时对当前 WEB 应用的相关资源进行初始化操作: 创建 Spring 的 IOC 容器,

          2.HttpSessionListener,统计当前在线人数列表

  • 相关阅读:
    转载:史上最全|阿里那些牛逼带闪电的开源工具,你知道几个?
    互怼、IPO、雷潮、寒冬,2018 互联网圈的那些事儿
    微信迎来又一次重大改版 7.0 版本
    公众号文章目录
    聊几个与赚钱相关的小事情
    使用docker Registry快速搭建私有镜像仓库
    开源组件ELK日志系统配置与管理
    Mysql MHA高可用集群架构
    强大的开源企业级数据监控利器Lepus安装与配置管理
    关于下载gitbash客户端
  • 原文地址:https://www.cnblogs.com/walkwithmonth/p/9821038.html
Copyright © 2011-2022 走看看