Servlet3.0有(但不限于)如下几个接口:
1、ServletContextListener
此接口用于监听Web application的启动和关闭事件。
2、ServletContextAttributeListener
此接口用于监听ServletContext对象上的属性(attribute)变更事件。也就是application上的属性变更事件。
3、ServletRequestListener
此接口用于监听客户端发起的请求(request)事件。
4、ServletRequestAttributeListener
此接口用于监听ServletRequest对象上的属性(attribute)变更事件。
5、HttpSessionListener
此接口用于监听与客户端之间的Session的开始和结束事件。
6、HttpSessionAttributeListener
此接口用于监听Session对象上的属性(attribute)变更事件。
多说一句,@WebListener这个注解是Servlet3.0才有的特性,这个注解的作用就相当于之前在web.xml文件中的配置:
<listener> <listener-class>com.abc.servlet3.ServletContextEventHandler</listener-class> </listener>
上面配置中的com.abc.servlet3.ServletContextEventHandler是我虚构的,总之就是你那个实现了XXXXXXListener的类。把@WebListener annotation写在你那个实现类上,就可以省掉在web.xml中配置listener信息了。
时间: 2024-10-12 19:06:15