zoukankan      html  css  js  c++  java
  • Spring Boot的filter简单使用

    过滤器(Filter)的注册方法和 Servlet 一样,有两种方式:代码注册或者注解注册

    1.代码注册方式

    通过代码方式注入过滤器

        @Bean
        public FilterRegistrationBean indexFilterRegistration() {
            FilterRegistrationBean registration = new FilterRegistrationBean(new IndexFilter());
            registration.addUrlPatterns("/");
            return registration;
        }

    IndexFilter.Java类:

    package com.example.filter;

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;

    public class IndexFilter implements Filter{

        @Override
        public void destroy() {
            System.out.println("filter destroy method");
            
        }

        @Override
        public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
                throws IOException, ServletException {
            System.out.println("filter doFilter method");
            
        }

        @Override
        public void init(FilterConfig arg0) throws ServletException {
            System.out.println("filter init method");
            
        }

    }


    2.注解方式

    通过注解方式注入过滤器

    IndexFilter2.java类

    package com.example.filter;

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebFilter;

    @WebFilter(urlPatterns = "/*", filterName = "indexFilter2")
    public class IndexFilter2 implements Filter{

        @Override
        public void destroy() {
            System.out.println("filter2 destroy method");
            
        }

        @Override
        public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
                throws IOException, ServletException {
            System.out.println("filter2 doFilter method");
            
        }

        @Override
        public void init(FilterConfig arg0) throws ServletException {
            System.out.println("filter2 init method");
            
        }

    }

    把注解加到入口处启动即可

    @SpringBootApplication
    @ServletComponentScan
    public class SpringBootSimpleApplication {
     
        public static void main(String[] args) {
            SpringApplication.run(SpringBootSimpleApplication.class, args);
        }
    }

  • 相关阅读:
    C#面向对象的三大特性概述
    SQL Server 低版本还原高版本的数据库
    将表转化成脚本的存储过程
    iis安装失败解决方法
    kafka consumer 配置详解
    C#解析XML文件
    blat
    REST接口POST方法发送文件到服务器(C#)
    http://www.codeproject.com/Questions/117324/uploadfileincwithHttpWebRequest
    PDF Password Remover
  • 原文地址:https://www.cnblogs.com/web424/p/6755957.html
Copyright © 2011-2022 走看看