Servlet API 中的 6 个事件类
1. ServletContextEvent:该类表示上下文事件,当应用上下文对象发生改变,例如创建或销毁上下文对象时,将触发上下文事件。
2. ServletContextAttributeEvent:该类表示上下文属性事件,当应用上下文属性发生改变,例如增加、删除、覆盖上下文属性时,将触发上下文属性事件。
3. HttpSessionEvent:该类表示会话事件,当应用会话对象发生改变,例如创建或销毁会话对象,活化或钝化会话对象时,将触发会话事件。
4. HttpSessionBindingEvent:该类表示会话绑定事件,当应用会话中的属性发生改变,例如增加、删除、覆盖会话中的属性时,将触发会话绑定事件。
5. ServletRequestEvent:该类表示请求事件,当应用请求对象发生改变,例如创建或销毁请求对象时,将触发请求事件。
6. ServletRequestAttributeEvent:该类表示请求属性事件,当请求中的属性发生改变,例如增加、删除、覆盖请求中的 属性时,将触发请求属性事件。
Servlet API 中的 8 个监听器接口
1. ServletContextListener:上下文监听器,用来监听 ServletContextEvent。
2. ServletContextAttributeListener:上下文属性监听器,用来监听 ServletContextAttributeEvent。
3. HttpSessionListener:会话监听器,用来监听 HttpSessionEvent。
4. HttpSessionActivationListener:会话活化监听器,用来监听 HttpSessionEvent。
5. HttpSessionAttributeListener:会话属性监听器,用来监听 HttpSessionBindingEvent。
6. HttpSessionBindingListener:会话绑定监听器,用来监听 HttpSessionBindingEvent。
7. ServletRequestListener:请求监听器,用来监听 ServletRequestEvent。
8. ServletRequestAttributeListener:请求属性监听器,用来监听 ServletRequestAttributeEvent。
注册监听器
1. 使用 @WebListener 注解
@WebListener
public class MyServletContextListener implements ServletContextListener {
// ...
}
2. 在 web.xml 中配置
<listener>
<listener-class>com.huey.hello.listeners.MyServletContextListener</listener-class>
</listener>