过滤器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应用程序当中,可以配置多个过滤器,多个过滤器形成了一个过滤器链。

    •  

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值