当前位置: 代码迷 >> 综合 >> javaWeb之监听器Linenter
  详细解决方案

javaWeb之监听器Linenter

热度:49   发布时间:2024-02-28 03:55:28.0

监听接口类

  1. HttpSessionListener   监听session的创建和销毁(一般用户统计网站在线人数)
  2. HttpSessionAttributeListener   监听session属性的新增和移除
  3. ServletContextListener  监听servlet容器的启动和销毁
  4. ServletContextAttributeListener 监听servlet容器属性的新增和移除

 

使用方法

1、创建类实现上面的接口,添加@WebLinenter注解

@WebListener
class MyListener2 implements HttpSessionListener {/*** session创建* @param se*/@Overridepublic void sessionCreated(HttpSessionEvent se) {System.out.println("session创建");}/*** session销毁* @param se*/@Overridepublic void sessionDestroyed(HttpSessionEvent se) {System.out.println("session销毁");}
}
@WebListener
class MyListener3 implements HttpSessionAttributeListener {/*** 监听session新增属性*/@Overridepublic void attributeAdded(HttpSessionBindingEvent se) {System.out.println("session新增属性");}/*** 监听session移除属性*/@Overridepublic void attributeRemoved(HttpSessionBindingEvent se) {System.out.println("session移除属性");}/*** 监听session替换属性*/@Overridepublic void attributeReplaced(HttpSessionBindingEvent se) {System.out.println("session替换属性");}
}

@WebListener
class MyListener5 implements ServletContextListener {/*** 当Servlet 容器启动Web 应用时调用该方法。在调用完该方法之后,容器再对Filter 初始化,*  * 并且对那些在Web 应用启动时就需要被初始化的Servlet 进行初始化。* @param sce*/@Overridepublic void contextInitialized(ServletContextEvent sce) {System.out.println("ServletContext初始化");}/*** 当Servlet 容器终止Web 应用时调用该方法。在调用该方法之前,容器会先销毁所有的Servlet 和Filter 过滤器。* @param sce*/@Overridepublic void contextDestroyed(ServletContextEvent sce) {System.out.println("ServletContext销毁");}
}

@WebListener
class MyListener6 implements ServletContextAttributeListener {@Overridepublic void attributeAdded(ServletContextAttributeEvent scae) {System.out.println("ServletContext添加属性");}@Overridepublic void attributeRemoved(ServletContextAttributeEvent scae) {System.out.println("ServletContext移除属性");}@Overridepublic 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);}}