监听接口类
- HttpSessionListener 监听session的创建和销毁(一般用于统计网站在线人数)
- HttpSessionAttributeListener 监听session属性的新增和移除
- ServletContextListener 监听servlet容器的启动和销毁
- ServletContextAttributeListener 监听servlet容器属性的新增和移除
使用方法
1、创建类实现上面的接口,添加@WebLinenter注解
@WebListener
class MyListener2 implements HttpSessionListener {
/**
* session创建
* @param se
*/
@Override
public void sessionCreated(HttpSessionEvent se) {
System.out.println("session创建");
}
/**
* session销毁
* @param se
*/
@Override
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("session销毁");
}
}
@WebListener
class MyListener3 implements HttpSessionAttributeListener {
/**
* 监听session新增属性
*/
@Override
public void attributeAdded(HttpSessionBindingEvent se) {
System.out.println("session新增属性");
}
/**
* 监听session移除属性
*/
@Override
public void attributeRemoved(HttpSessionBindingEvent se) {
System.out.println("session移除属性");
}
/**
* 监听session替换属性
*/
@Override
public void attributeReplaced(HttpSessionBindingEvent se) {
System.out.println("session替换属性");
}
}
@WebListener
class MyListener5 implements ServletContextListener {
/**
* 当Servlet 容器启动Web 应用时调用该方法。在调用完该方法之后,容器再对Filter 初始化,
* * 并且对那些在Web 应用启动时就需要被初始化的Servlet 进行初始化。
* @param sce
*/
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("ServletContext初始化");
}
/**
* 当Servlet 容器终止Web 应用时调用该方法。在调用该方法之前,容器会先销毁所有的Servlet 和Filter 过滤器。
* @param sce
*/
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("ServletContext销毁");
}
}
@WebListener
class MyListener6 implements ServletContextAttributeListener {
@Override
public void attributeAdded(ServletContextAttributeEvent scae) {
System.out.println("ServletContext添加属性");
}
@Override
public void attributeRemoved(ServletContextAttributeEvent scae) {
System.out.println("ServletContext移除属性");
}
@Override
public void attributeReplaced(ServletContextAttributeEvent scae) {
System.out.println("session销毁2234311111");
}
}
2、启动类添加@ServletComponentScan注解
@SpringBootApplication
@ServletComponentScan//可以自动注册@WebServlet、@WebFilter、@WebListener等注解。
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}