内蒙古建网站,开源网站下载,怎样wordpress,十大计算机培训学校Filter 过滤器
概念#xff1a;表示过滤器#xff0c;是 JavaWeb 三大组件#xff08;Servlet、Filter、Listener#xff09;之一
作用#xff1a;顾名思义可以过滤资源的请求#xff0c;并实现特殊的需求 Filter 接口及它核心的 doFilter() 方法#xff08;执行前就是…Filter 过滤器
概念表示过滤器是 JavaWeb 三大组件Servlet、Filter、Listener之一
作用顾名思义可以过滤资源的请求并实现特殊的需求 Filter 接口及它核心的 doFilter() 方法执行前就是放行前逻辑
void doFilter(ServletRequest, ServletResponse, FilterChain)
解析FilterChain 接口是管理过滤器的“链式结构”比如「禁止浏览器缓存」「实现自动登录」「编码过滤器」「敏感词过滤器」「压缩资源过滤器」「HTML转义过滤器」「缓存数据」…
过滤器其实也是责任链模式的一种实现FilterChain层层往下执行直到最后没有过滤器就到了「目标资源」 注意注解配置的 Filter优先级按照过滤器类名字符串的自然排序比如A~Z、0~9 Listener 监听器
实际上就是实现特定接口的普通Java程序。它专门监听Java对象的方法调用/属性改变并可以作出反应
回到 Servlet 层面上我们更多的监听的是「Session」「Request」「ServletContext」「Application」这些对象的创建、销毁及属性内的变化之后执行相应代码的功能组件
针对监听上面的几个对象我们可以做出一些小例子比如说「统计网站的在线人数」「自动踢人」「定时清除Session的值」
作用总结A发生了变化而B需要依赖A发生的变化做出处理
Listener 分类JavaWeb 提供了八个监听器 监听器分类监听器名称作用ServletContext监听ServletContextListener 用于对 ServletContext 对象进行监听 创建、销毁 ServletContextAttributeListener 对 ServletContext 对象中属性的监听 增删改属性 Session监听HttpSessionListener 对 Session 对象的整体状态的监听 创建、销毁 HttpSessionAttributeListener 对 Session 对象中的属性监听 增删改属性 HttpSessionBindingListener监听对象于 Session 的绑定和解除HttpSessionActivationListener对 Session 数据的钝化和活化的监听Request监听ServletRequestListener 对 Request 对象进行监听 创建、销毁 ServletRequestAttributeListener 对 Request 对象中属性的监听 增删改属性
监听使用例子ServletContextListener
定义实现了 ServletContextListener 接口的类在实现类上添加 WebListener 注解