Listener

来源:互联网 发布:软件制作器 编辑:程序博客网 时间:2024/05/17 20:31

1.监听器(Listener)

 一个监听器类,要实现ServletContextListener或者HttpSessionListener、ServletRequestListener等接口。

2.监听器的监听类别

  1. 按监听域对象分:ServletContext(application)、HttpSession、ServletRequestListener三大对象。分别监听他们的创建和销毁(initialed方法和destroyed方法)。
    对于监听application,用途1.做定时器;2.做全局变量
    对于session,可以用于统计在线人数。
    对于request,可以统计访问总数。
  2. 监听属性变化(add、remove、replace)
    这里面实现的接口是ServletContextAttributeListener、HttpSessionAttributeListener、ServletRequestAttributeListener等

主要方法有:

  1. attributeAdded()
  2. attributeRemoved()
  3. attributeReplaced()

3.监听HttpSession的状态(要让被监听的类实现HttpSessionBindingListener,无需在web.xml注册)
实现serializable、HttpSessionActivationListener(激化类,里面还有passivate(钝化)和activate(活化))等接口。要钝化和活化的类是实体类,就是entity类。必须实现serializable接口,表明可以序列化。

  1. 钝化:在服务器关闭或重启,web项目重载时,将服务器内存中的session存入数据库或文件中,一般在SESSION.ser中
  2. 活化:在服务器重启启动后,将SESSION.ser中的session导入。

3.监听器的启动顺序

监听器的启动顺序按照在web.xml中<listener></listener>的顺序加载。**在有filter,listener,servlet的web项目中加载顺序listener>filter>servlet**
原创粉丝点击