整理自Head first Servlet & JSP P182。
场景 | 监听者接口 | 事件类型 |
---|---|---|
你想知道是否创建或者撤销了一个上文 | javax.servlet.ServletContextListener contextInitialed contextdestroyed | ServletContextEvent |
你想知道一个web应用上下文中是否增加、删除、替换了一个属性 | javax.servlet.ServletContextAttributeListener attributeAdded attributeRemove attributeReplaced | ServletContextAttributeEvent |
每次请求到来时你都想知道,以便建立日志记录 | javax.servlet.ServletRequestListener requestInititalized requestDestroyed | ServletRequestListener |
你想知道什么时候增加、删除、替换了一个请求属性 | javax.servlet.ServletRequestAttributeListener attributeAdded attributeRemove attributeReplaced | ServletRequestAttributeListener |
你想知道有多少个并发用户,也就是说你想跟踪活动的会话 | javax.servlet.http.HttpSessionListener sessionCreated sessionDestroyed | HttpSessionEvent |
你想知道什么时候增加、删除、替换了一个会话属性 | javax.servlet.http.HttpSessionAttributeListener attributeAdded attributeRemove attributeReplaced | HttpSessionBindingEvent 注意:这里的命名可能不一致 |
你有一个属性类(类对象将与一个属性对应),你希望这个类的对象绑定到会话中或者从会话中删除时得到通知 | javax.servlet.http.HttpSessionBindingListener valueBound valueNonBound | HttpSessionBindingEvent |
你有一个属性类,你想在该类对象绑定的会话从一个JVM迁移到另一个JVM时得到通知 | javax.servlet.http.HttpSessionActivationListener sessionDidActivate sessionWillPassivate | HttpSessionEvent,注意:不是HttpSessionActivationEvent |