在我们的web容器中,一直不断的触发着各种事件,例如:web应用启动和关闭,request请求到达和结束等。但是这些事件通常对于开发者来说是透明的,我们可以根据这些接口开发符合我们自身需求的功能。在web中常见的的几个监听事件如下:

  • ServletContextListener:用于监听web应用的启动和关闭

  • ServletContextAttributeListener:用于监听在application范围内的数据的变动

  • ServletRequestListener:用于监听用户请求的细节

  • ServletRequestAttributeListener:用于监听request范围内的数据的变动

  • HttpSessionListener:用于监听某次会话的开始和结束

  • HttpSessionAttributeListener:用于监听session范围内的属性数据的变动

一、使用ServletContextListener监听web应用的启动和关闭
我们想要实现一个自定义的Listener,需要两个步骤,第一个是根据自己的需求继承相应的上述的监听事件的接口,并实现其中的相应的方法。第二个步骤就是,在web.xml中配置此Listener监听器的处理类或者使用注解配置。下面我们通过继承自ServletContextListener接口来实现对web应用的启动和关闭实时监控。

public class MyListener implements ServletContextListener {    @Override//web应用启动时候触发此事件
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("web应用启动了。。。");
    }    @Override//web应用关闭的时候触发事件
    public void contextDestroyed(ServletContextEvent sce) {

        System.out.println("web应用被关闭了。。。");
    }

}
<?xml version="1.0" encoding="UTF-
        
		

网友评论