首页 > 编程语言 > 详细

Spring Boot入门篇之配置Filter

时间:2020-07-09 13:23:39      阅读:75      评论:0      收藏:0      [点我收藏+]

此博客是学习Spring Boot过程中记录的,一来为了加深自己的理解,二来也希望这篇博客能帮到有需要的朋友.同时如果有错误,希望各位不吝指教

一.通过注入Bean的方式配置Filter:

  注意:此方法所在的类一定要添加了@Configuration注解,或者是直接放在主类

@Bean
public FilterRegistrationBean<Filter> myFilter(){
   //用于注册Filter
    FilterRegistrationBean<Filter> filter = new FilterRegistrationBean<>();
    //new的是自己自定义的Filter
    filter.setFilter(new MyFilter());
  
//设置此过滤器的执行顺序的优先级,越小优先级越高 filter.serOrder(1); return filter; }

  自定义Filter类,实现javax.servlet.Filter:

  

public class MyFilter implements Filter {

    public static final List<String> EXCLUSIONS_PATH = Arrays.asList("*.js","*.css","/druid/*");

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

        HttpServletRequest request = (HttpServletRequest) servletRequest;
        String uri = request.getRequestURI();
        if (EXCLUSIONS_PATH.contains(uri)){
            filterChain.doFilter(servletRequest,servletResponse);
        } else{
            System.err.println(uri + "被拦截");
        }
    }
}

 

二:通过注解配置Filter

  自定义的Filter类:

//声明这是一个Filter类
@WebFilter(filterName = "myFilter",urlPatterns = "/*")
//配置过滤器的优先级 @Order(
1) public class MyFilter implements Filter { public static final List<String> EXCLUSIONS_PATH = Arrays.asList("*.js","*.css","/druid/*"); @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; String uri = request.getRequestURI(); if (EXCLUSIONS_PATH.contains(uri)){ filterChain.doFilter(servletRequest,servletResponse); } else{ System.err.println(uri + "被拦截"); } } }

  主类添加注解:@ServletCompontScan

@SpringBootApplication
//可以不指定包,会扫描全部的包会扫描添加了@WebServlet、@WebFilter、@WebListener注解的类,并注册的Spring容器
@ServletComponentScan(basePackages = {"com.cjx.filter"})
public class SpringbootApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootApplication.class, args);
    }

}

 

                  

 

            

 

                                                     ------路漫漫其修远兮,吾将上下而求索.愿你我共勉

  

技术分享图片

 

Spring Boot入门篇之配置Filter

原文:https://www.cnblogs.com/llysc/p/13272996.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!