当前位置: 首页 > news >正文

过滤器Filter

  • 什么是Filter?
    • Filter表示过滤器,是JavaWeb三大组件(Servlet、FIlter、Listener)之一。
    • 过滤器可以把对资源的请求拦截下来,总而实现一些特殊的功能
      • 使用过滤器后,要想访问web服务器上的资源,必须先经过过滤器,过滤器处理完毕后,才可以访问对应的资源。
    • 过滤器一般完成一些通用操作,必须:登录校验、统一编码处理,敏感字处理
  • Filter过滤器基本使用
    • 定义过滤器:定义一个类实现Filter接口,并重写其所有方法。
      • @WebFilter(urlPatterns = "/*") //配置过滤器要拦截的请求路径( /* 表示拦截浏览器的所有请求 )
        public class DemoFilter implements Filter {@Override //初始化方法, 只调用一次public void init(FilterConfig filterConfig) throws ServletException {System.out.println("init 初始化方法执行了");}//在放行后访问完 web 资源之后还会回到过滤器当中,回到过滤器之后如有需求还可以执行放行之后的逻辑,放行之后的逻辑我们写在doFilter()这行代码之后。@Override //拦截到请求之后调用, 调用多次public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.out.println("Demo 拦截到了请求...放行前逻辑");//放行chain.doFilter(request,response);}@Override //销毁方法, 只调用一次public void destroy() {System.out.println("destroy 销毁方法执行了");}
        }
    • 配置过滤器:Filter类加上@WebFilter注解,配置拦截资源的路径。引导类上加@ServletComponentScan开启Serlet组件支持
      • @ServletComponentScan
        @SpringBootApplication
        public class TliasWebManagementApplication {public static void main(String[] args) {SpringApplication.run(TliasWebManagementApplication.class, args);}}
  • 拦截路径

  • 过滤器链

    • web应用程序当中,可以配置多个过滤器,多个过滤器形成了一个过滤器链。

    •  

    • 过滤器的先后执行顺序是由类名的自动排序确定的,类名排名越高,优先级越高。

 

http://www.lryc.cn/news/56130.html

相关文章:

  • MySQL数据同步ES的常用思路和方法
  • spring源码之扫描前设置
  • C++ 98/03 应该学习哪些知识19
  • java毕业生就业信息管理系统servlet程序
  • linux命令-netstat
  • 微服务+springcloud+springcloud alibaba学习笔记【Rest微服务工程搭建】(2/9)
  • 【Redis7】Redis7 十大数据类型
  • java 死锁怎么解决, 盘它
  • 【新2023Q2押题JAVA】华为OD机试 - 服务依赖
  • 交友项目【通用设置】三个功能实现
  • MongoDB 更新文档(更新多条文档)
  • ubuntu20 qt6.4.3 ustc镜像安装 xdma
  • 15_I.MX6ULL_LCD显示原理
  • Vue.js 2.0 实例
  • 安全技术和iptables防火墙
  • StringBuilder和StringBuffer的区别
  • 美团大数据开发转正实习面经(已OC)
  • leedcode刷题(2)
  • 0119 磁盘分区、挂载
  • 【独家】华为OD机试 - 打折买水果(C 语言解题)
  • python使用args,kwargs
  • 20230408英语学习
  • ReplacingMergeTree
  • Java核心技术知识点笔记—集合(二)
  • Sharepoint Online手工迁移方案 | 分享二
  • MVC获取当前区域、控制器、Action
  • 第十六章 脚手架文件介绍
  • 基于Clion开发(stm32移植FreeRTOS+LVGL)
  • Python | 蓝桥杯进阶第三卷——动态规划
  • 蓝桥杯31天真题冲刺|题解报告|第二十九天