zoukankan      html  css  js  c++  java
  • 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
    			
    		}
    	
    }
    
    重视基础,才能走的更远。
  • 相关阅读:
    浮起来的验证消息
    关于jQuery UI 使用心得及技巧
    如何制作好一个提交按扭我是个爱折腾的人
    ABAP自测试题一 沧海
    商务出现问题 沧海
    [转帖]Report painter 沧海
    准备ABAP认证 沧海
    Characteristics and Key figures In Report Painter 沧海
    有朋自远方来 沧海
    What are the layers of data description in R/3? 沧海
  • 原文地址:https://www.cnblogs.com/xzlf/p/12934912.html
Copyright © 2011-2022 走看看