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.静态数据预处理

浙公网安备 33010602011771号