2-3-3 Java Web基础-监听器

监听器 - Listener

监听器(Listener)是J2EE Servlet模块下的组件

Listener的作用是对web应用对象行为进行监控

通过Listener监听自动触发指定的功能代码

监听器与过滤器的区别

过滤器(FIlter)是对URL进行过滤拦截,是主动的执行

监听器(Listener)是对Web对象进行监听,是被动触发

三种监听对象

ServletContext - 对全局ServletContext及其属性进行监听

HttpSession - 对用户会话及其属性进行监听

ServletRequest - 对请求及属性进行监听

开发一个监听器

注解方式

 1 import javax.servlet.ServletContextEvent;
 2 import javax.servlet.ServletContextListener;
 3 import javax.servlet.annotation.WebListener;
 4 
 5 @WebListener
 6 public class FirstListener implements ServletContextListener{
 7 
 8     @Override
 9     public void contextInitialized(ServletContextEvent sce) {
10         // TODO Auto-generated method stub
11         System.out.println("ServletContext已初始化");
12     }
13 
14     @Override
15     public void contextDestroyed(ServletContextEvent sce) {
16         // TODO Auto-generated method stub
17         System.out.println("ServletContext已销毁");
18     }
19 
20 }

配置方式

去掉注解,在web.xml书写

1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
3   <display-name>first-listener</display-name>
4   
5   <listener>
6       <listener-class>com.mingm.listener.FirstListener</listener-class>
7   </listener>
8 </web-app>

开发监听器三要素

实现XxxListener接口,不同接口监听不同对象

实现每一个接口独有的方法,实现触发监听的后续操作

在web.xml中配置<listener>使监听器生效.

六种常用监听接口

内置对象监听接口

ServletContextListener - 监听Servlet对象创建,销毁等操作

HttpSessionListener - 监听HttpSession对象创建,销毁等操作

ServletRequestListener - 监听HttpServletRequest对象创建,销毁等

属性监听接口

ServletContextAttributeListener - 监听全局属性操作

HttpSessionAttributeListener - 监听用户会话属性操作

ServletRequestAttributeListener - 监听请求属性操作

项目中监听器的应用场景

1.在线用户统计与流量分析

2.静态数据预处理

posted @ 2020-09-12 15:29  mingmingn  阅读(130)  评论(0)    收藏  举报