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
    			
    		}
    	
    }
    
    重视基础,才能走的更远。
  • 相关阅读:
    OpenGL------光照+染色
    sicily 1345 能量项链
    sicily 1193 Up the Stairs
    sicily 1172 Queens, Knights and Pawns
    sicily 1206 Stacking Cylinders
    模拟退火算法解tsp问题
    js对象的属性可以是一个变量
    vue中/deep/的使用
    MySQL中DATEDIFF函数使用
    js中的this
  • 原文地址:https://www.cnblogs.com/xzlf/p/12934912.html
Copyright © 2011-2022 走看看