• servlet 监听器学习


    监听器学习:

    ## 作用:
    	监听request、session、application三个域对象的创建,销毁和数据的变更
    ## 使用:
    	1、创建一个普通java类实现指定的接口
    		监听request的创建和销毁:ServletRequestListener
    				requestInitialized(ServletRequestEvent sre)
    				requestDestroyed(ServletRequestEvent sre)
    				形参:
    					ServletRequestEvent可以获取当前监听到的request对象,对request对象的中的资源进行操作。
    		监听request作用域数据的变更:ServletRequestAttributeListener
    				attributeAdded(ServletRequestAttributeEvent srae)
    				attributeRemoved(ServletRequestAttributeEvent srae)
    				attributeReplaced(ServletRequestAttributeEvent srae)
    					形参:
    						ServletRequestAttributeEvent可以获取当前被监听到的request中的数据。
    						geName()返回监听到的数据的键和getValue()返回监听的到的数据的值。
    
    		监听session的创建和销毁:HttpSessionListener
    				sessionCreated(HttpSessionEvent se)
    				sessionDestroyed(HttpSessionEvent se)
    					形参:
    						 获取当前被监听到的session对象
    		监听session的作用域数据的变更:
    				attributeAdded(HttpSessionBindingEvent event)
    				attributeRemoved(HttpSessionBindingEvent event)
    				attributeReplaced(HttpSessionBindingEvent event)
    					形参:
    						获取当前监听到的session中的数据 getName()返回数据的键名,getValue()返回数据的值
    		监听application对象的创建和销毁:ServletContextListener
    				contextInitialized(ServletContextEvent sce)
    				contextDestroyed(ServletContextEvent sce)
    					形参:
    						获取application对象
    		监听application对象的数据的变更:ServletContextAttributeListener
    				attributeAdded(ServletContextAttributeEvent event)
    				attributeRemoved(ServletContextAttributeEvent event)
    				attributeReplaced(ServletContextAttributeEvent event)
    					形参:获取当前被监听的数据 getName()返回数据的键名,getValue()返回数据的值
    	2、在项目中的web.xml中配置监听器,让监听器生效
    		 <listener>
    		<listener-class>监听器类的包名和类名</listener-class>
    	</listener>
    

    代码:

    public class MyListener implements ServletRequestListener,ServletRequestAttributeListener,HttpSessionListener,HttpSessionAttributeListener,ServletContextListener,ServletContextAttributeListener{
    	//监听Request对象的创建和销毁
    		@Override
    		public void requestDestroyed(ServletRequestEvent sre) {
    			System.out.println("request对象被销毁了");
    			
    		}
    		@Override
    		public void requestInitialized(ServletRequestEvent sre) {
    			ServletRequest req = sre.getServletRequest();
    			System.out.println("request对象被创建了");
    			
    		}
    	//监听request对象作用域数据的增加、修改、删除
    		@Override
    		public void attributeAdded(ServletRequestAttributeEvent srae) {
    			System.out.println("request中增加了一条数据");
    		}
    		@Override
    		public void attributeRemoved(ServletRequestAttributeEvent srae) {
    			// TODO Auto-generated method stub
    			
    		}
    		@Override
    		public void attributeReplaced(ServletRequestAttributeEvent srae) {
    			// TODO Auto-generated method stub
    			
    		}
    	//监听session的创建和销毁
    		@Override
    		public void sessionCreated(HttpSessionEvent se) {
    			System.out.println("session被创建了11111");
    			
    		}
    		@Override
    		public void sessionDestroyed(HttpSessionEvent se) {
    			System.out.println("session被销毁了");
    			
    		}
    	//监听session数据的增加、删除、修改
    		@Override
    		public void attributeAdded(HttpSessionBindingEvent event) {
    			System.out.println("session中增加了数据");
    			
    		}
    		@Override
    		public void attributeRemoved(HttpSessionBindingEvent event) {
    			// TODO Auto-generated method stub
    			
    		}
    		@Override
    		public void attributeReplaced(HttpSessionBindingEvent event) {
    			// TODO Auto-generated method stub
    			
    		}
    	//监听application对象的创建(初始化)和销毁
    		@Override
    		public void contextInitialized(ServletContextEvent sce) {
    			// TODO Auto-generated method stub
    			
    		}
    		@Override
    		public void contextDestroyed(ServletContextEvent sce) {
    			// TODO Auto-generated method stub
    			
    		}
    	//监听application对象的数据的增加,删除,修改
    		@Override
    		public void attributeAdded(ServletContextAttributeEvent event) {
    			
    		}
    		@Override
    		public void attributeRemoved(ServletContextAttributeEvent event) {
    			// TODO Auto-generated method stub
    			
    		}
    		@Override
    		public void attributeReplaced(ServletContextAttributeEvent event) {
    			// TODO Auto-generated method stub
    			
    		}
    	
    }
    
    重视基础,才能走的更远。
  • 相关阅读:
    《黑马程序员》 内存管理的认识(Objective
    《黑马程序员》 description方法(Objective
    《黑马程序员》 类的加载和初始化(Objective
    《黑马程序员》 category分类的使用(Objective
    《黑马程序员》 OC构造方法(Objective
    《黑马程序员》 OC编译器特性(Objective
    《黑马程序员》 OC的三大特性(Objective
    《黑马程序员》 OC的认识和第一个OC(Objective
    《黑马程序员》 extern与static的使用注意(C语言)
    《黑马程序员》 typedef的使用方法(C语言)
  • 原文地址:https://www.cnblogs.com/xzlf/p/12934912.html
Copyright © 2020-2023  润新知