事件概念
监听器是为了监听事件并处理的,所以要理解监听器的概念,首先要理解事件的概念。
某些操作总会触发一种事件发生,如启动或关闭容器、创建或销毁会话等。当发生了某种事件,容器将创建对应的事件类对象。也就是说,API中已经定义好了事件的类型,容器进行了实现,当某些特定操作发生时,会自动触发相应的事件。
6种事件类型
Servlet API中定义了6种事件类型
- ServletContextEvent:该类表示上下文事件,当应用上下文对象发生改变,如创建或销毁上下文对象时,将触发上下文事件。
- ServletContextAttributeEvent:该类表示上下文属性事件,当应用上下文的属性改变,如增加、删除、覆盖上下文中的属性时,将触发上下文属性事件。
- ServletRequestEvent:该类表示请求事件,当请求对象发生改变,如创建或销毁请求对象时,触发请求事件。
- ServletRequestAttributeEvent:该类表示请求属性事件,当请求中的属性改变,如增加、删除、覆盖请求中的属性时,触发请求属性事件。
- HttpSessionEvent:该类表示会话事件,当会话对象发生改变,如创建或销毁会话对象,活化或钝化会话对象时,将触发会话事件。
- HttpSessionBindingEvent:该类表示会话绑定事件,当会话中的属性发生变化时,如增加、删除、覆盖会话中的属性时,将触发会话绑定事件。
8种监听器接口
Servlet API中定义了8种监听器接口,用来监听不同的事件类型
- ServletContextListener:上下文监听器,监听ServletContextEvent事件。
- ServletContextAttributeListener:上下文属性监听器,用来监听ServletContextAttribute事件。
- ServletRequestListener:请求监听器