Java EE中Listener

在Java EE中,ServletContext、HttpSession、HttpServletRequest使得Java对象在浏览器中直接传播成为可能,与这三大对象相关的监听器在实际编程中也是有很大用处。

接触过Java AWT、Java Swing编程的都知道监听器其实就是某个事件触发之后的一个方法回调。基本上监听器也是AOP的编程思想的一个体现,Java EE中有八个规定的监听器,用来监听ServletContext、HttpSession、HttpServletRequest这三个对象的创建和销毁,以及在调用setAttribute(String name, Object value)、removeAttribute(String name)这些方法。

ServeltContextListener

这个接口的原型如下:
public interface ServletContextListener
{
  public void contextCreated(ServketContextEvent event);
  public void destroyContext(ServletContextEvent event);
}
其中contextCreated会再WEB容器装入WEB程序时进行调用,而contextDestroyed会再WEB容器卸载程序时进行调用。
该接口的使用案例,在Spring整合进WEB程序中有体现,Spring的核心IOC容器会再ServletContext初始化后,进行创建IOC容器,如果你想要在ServletContext初始化后做点什么,那么可以实现该监听器。

HttpSessionListener

这个接口的原型如下:
public interface HttpSessionListener
{
  public void sessionCreated(HttpSessionEvent event);
  public void sessionDestroyed(HttpSessionEvent event);
}
其中,当WEB容器创建HttpSession对象后,会调用sessionCreated方法,利用这个方法可以进行网站的在线人数统计(按照会话进行统计)。当HttpSession对象被销毁后,会调用sessionDestroyed方法。

ServletRequestListener

这个接口的原型如下:
public interface ServletRequestListener
{
  public void requestCreated(ServletRequestEvent event);
  public void requestDestroyed(ServletRequestEvent event);
}
其中,当WEB容器创建好HttpServletRequest对象后,会调用requestCreated方法;当HttpServletRequest对象被销毁后,会调用requestDestroyed方法。

ServletContextAttributeListener、HttpSessionAttributeListener、ServletContextAttributeListener

ServletContextAttributeListener、HttpSessionAttributeListener、ServletContextAttributeListener这三个监听器是用来监听属性的添加与删除的,它们的大致接口原型如下:
public XxxAttributeListener
{
  public void attributeAdded(xxxAttributeEvent event);
  public void attributeReplaced(xxxAttributeEvent event);
  public void attributeRemoved(xxxAttributeEvent event);
}

上述六种基本的监听器,是Java EE监听器的基础。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值