javaweb三大域对象的生命周期监听器和属性监听器

在javaweb中三大域对象都有自己的监听器(Servletcontext,HttpSesson,ServletRequest)

  1. 生命周期监听器

    	ServletContextListener:Tomcat启动和关闭时调用下面两个方法
         public void contextInitialized(ServletContextEvent evt):ServletContext对象被创建后调用;
         public void contextDestroyed(ServletContextEvent evt):ServletContext对象被销毁前调用;
     HttpSessionListener:开始会话和结束会话时调用下面两个方法
      	public void sessionCreated(HttpSessionEvent evt):HttpSession对象被创建后调用;
         public void sessionDestroyed(HttpSessionEvent evt):HttpSession对象被销毁前调用;
     ServletRequestListener:开始请求和结束请求时调用下面两个方法
        public void requestInitiallized(ServletRequestEvent evt):ServletRequest对象被创建后调用;
        public void requestDestroyed(ServletRequestEvent evt):ServletRequest对象被销毁前调用。
    

注意:需要在自定义的Listener类中继承生命周期监视器,并在当前项目的WebRoot/WeB-INF/web.xml中配置监听器的实现类

	下面对这三个监听器的事件对象功能进行介绍:
	    ServletContextEvent:ServletContext getServletContext();
	    HttpSeessionEvent:HttpSession getSession();
		ServletRequestEvent:
		ServletRequest getServletRequest()
		ServletContext getServletContext()
  1. 属性监听器
    当对域属性进行增、删、改时,执行的监听器一共有三个:
ServletContextAttributeListener:在ServletContext域进行增、删、改属性时调用下面方法。
			         public void attributeAdded(ServletContextAttributeEvent evt)
			      	public void attributeRemoved(ServletContextAttributeEvent evt)
			    	public void attributeReplaced(ServletContextAttributeEvent evt)
				HttpSessionAttributeListener:在HttpSession域进行增、删、改属性时调用下面方法
			     	public void attributeAdded(HttpSessionBindingEvent evt)
			        public void attributeRemoved (HttpSessionBindingEvent evt)
			     	public void attributeReplaced (HttpSessionBindingEvent evt) 
				ServletRequestAttributeListener:在ServletRequest域进行增、删、改属性时调用下面方法
				   public void attributeAdded(ServletRequestAttributeEvent evt)
				   public void attributeRemoved (ServletRequestAttributeEvent evt)
				   public void attributeReplaced (ServletRequestAttributeEvent evt)

注意:需要在自定义的Listener类中继承属性监视器,并在当前项目的WebRoot/WeB-INF/web.xml中配置监听器的实现类

下面对这三个监听器的事件对象功能进行介绍:

ServletContextAttributeEvent
String getName():获取当前操作的属性名;
Object getValue():获取当前操作的属性值;
ServletContext getServletContext():获取ServletContext对象。
HttpSessionBindingEvent
String getName():获取当前操作的属性名;
Object getValue():获取当前操作的属性值;
HttpSession getSession():获取当前操作的session对象。
ServletRequestAttributeEvent
String getName():获取当前操作的属性名;
Object getValue():获取当前操作的属性值;
ServletContext getServletContext():获取ServletContext对象;
ServletRequest getServletRequest():获取当前操作的ServletRequest对象。

属性监听器事件对象不仅能获得当前操作的域对象而且还可以获取当前操作域中保存的属性名和属性值,比生命周期监听器功能更加强大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值