一、 Filter API详解
Filter 接口有三个方法 int(FilterConfig filterConfig), 代表filter对象初始化方法 创建
doFilter() 代表filter执行过滤的核心方法
destory(); 销毁方法
Filter 生命周期
何时创建: 服务器启动时候创建Filter对象
Filter何时执行:每当一个请求路径是满足过滤器配置的路径 那么就会执行一次doFilter方法
何时销毁: 服务器关闭销毁
二、 Filter 配置
1 不管是注解还是xml配置 虚拟路径的语法是一致的
1 完全匹配:/servlet1 只有访问的路径是servlet1 才执行过滤器
2 目录匹配
语法 /aaa/bbb/* 路径常用
当访问 目标资源地址是 /aaa/bbb任何资源都执行该过滤器
3 拓展名匹配 *.abc *.jsp
当访问 目标资源的拓展名是abc 或者jsp 时执行过滤器
2 拦截方式
不是每一次访问都是直接访问 有些访问 是以转发的方式访问 过滤器可以区分不同的访问方式
dopatcher: 访问的方式
REQUEST :默认值
FORWARD 转发时执行的Filter
语法格式
@WebFilter(urlPatatterns="/*",dispatcherType={DispatcherType, FORWARD})
3 注解
@WebFilter(urlPatterns = "abc/*.jsp")
4 Filter 应用场景
处理全栈中文 乱码
浏览器发出的任何请求 通过过滤器统一处理中文乱码
5 监听器
1 监听器的概述
监听某个对象状态变化的组件
事件源:被监听对象 三个域对象 request session servletContext
监听器 :监听事件源对象 事件源的状态变化都会触发监听器 6+2
响应行为:监听器监听到事件源状态发生变化时 所涉及的功能代码----程序员写
2 监听器有哪些
第一维度
按监听对象划分 ServletRequest域 httpSession域 ServletContext域
第二维度 按监听的内容分 监听域对象的创建 与销毁相关属性变化
ServletContextListener 用于监听SevevletContext域的创建与销毁的监听器 场景:服务器启 动 加载配置信息
ServletContext 生命周期
何时创建:服务器启动
何时销毁:服务器关闭
作用范围: 整个web应用
如何使用监听器
步骤
1 编写一个监听器 实现监听器的接口
2 覆盖监听器的方法
3 需要再web.xml 配置文件中进行配置