Jsp监听器

监听器:

  监听器就是对内置对象的状态或者属性变化进行监听,并且做出反应的特殊的servlet,在web.xml文件中对监听器进行的配置。

  内置对象有两种状态变化:产生、销毁,就是当产生内置对象的时候能监听、销毁的时候也能进行监听,

当在内置对象中增加、删除、修改一个属性的时候也能进行监听。

  监听其状态,要实现request 内置对象的状态监听,需要实现一个接口“ServletRequestListener”如下:

public class RequestListener implements ServletRequestListener{

  @Override

  public void requestDestroyed(ServletRequestEvent arg0) {

  System.out.println("销毁 request 内置对象");

  }

 @Override

  public void requestInitialized(ServletRequestEvent arg0) {

  System.out.println("创建 request 内置对象");

  }

}

  要实现requset 对象的属性监听需要实现另外一个接口“ServletRequestAttributeListener

  总之我们可以使用监听器监听 request 对象的状态变化,使用 request 对象的状态监听器证明了

使用客户端跳转其实上是发送了一个新的请求,另外我们还可以使用监听器监听 request 对象的属性变化。

Session 内置对象的监听器:

  session 内置对象的监听器和可以对 session 的状态和属性变化进行监听。

  1、对 session 的状态监听需要实现的接口是 “java.servlet.http.HttpSessionListener

  2、对 session 的属性进行监听需要使用到的接口是“java.servlet.http.HttpSessionAttributeListener

Application 内置对象监听器:

  要对 application 的状态进行监听需要使用的接口是“ServletContextListener”。方法如下:

  public void contextlnitialized(ServetContextEvent sce) {

    初始化方法,在创建 application 内置对象的时候调用该方法

  }

  public void  contextDestroyed(ServletContextEvent sce) {

    销毁的时候调用该方法

  }

  对 application 的属性监听需要使用到的接口是“ServletContextAttributeListener”。方法如下:

  public void attributeAdded(ServletContextAttributeEvent scab) {

  增加属性的时候触发该方法

  }

  public  void attributeRemoved(ServletContextAttributeEvent scab) {

  删除属性的时候触发该方法

  }

  public  void attributeReplaced(ServletContextAttributeEvent scab) {

  替换属性的时候调用该方法

  }

  application 内置对象的监听可以结合 session 内置对象的监听器实现在线人数的统计等功能。

posted @ 2019-04-22 20:52  一杯香米酒  阅读(369)  评论(0编辑  收藏  举报