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,统计当前在线人数列表

  • 相关阅读:
    Python 2 中的编码
    奇异值分解及其应用
    c#基础系列3---深入理解ref 和out
    c#基础系列2---深入理解 String
    c#基础系列1---深入理解值类型和引用类型
    广州.NET微软技术俱乐部微信群有用信息集锦(10)
    程序员英语二三事(3)
    BDD实战篇
    BDD实战篇
    广州.NET微软技术俱乐部
  • 原文地址:https://www.cnblogs.com/walkwithmonth/p/9821038.html
Copyright © 2011-2022 走看看