此博客是学习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的更多相关文章

  1. Spring Boot配置过滤器的两种方式

    过滤器(Filter)是Servlet中常用的技术,可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截,常用的场景有登录校验.权限控制.敏感词过滤等,下面介绍下Spring Boot配置过 ...

  2. spring boot配置druid连接池连接mysql

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  3. Spring Boot -- 配置切换指南

    一般在一个项目中,总是会有好多个环境.比如: 开发环境 -> 测试环境 -> 预发布环境 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一 ...

  4. Spring Boot 配置优先级顺序

    一般在一个项目中,总是会有好多个环境.比如: 开发环境 -> 测试环境 -> 预发布环境 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一 ...

  5. spring boot 配置注入

    spring boot配置注入有变量方式和类方式(参见:<spring boot 自定义配置属性的各种方式>),变量中又要注意静态变量的注入(参见:spring boot 给静态变量注入值 ...

  6. Spring boot配置多个Redis数据源操作实例

    原文:https://www.jianshu.com/p/c79b65b253fa Spring boot配置多个Redis数据源操作实例 在SpringBoot是项目中整合了两个Redis的操作实例 ...

  7. spring boot配置springMVC拦截器

    spring boot通过配置springMVC拦截器 配置拦截器比较简单, spring boot配置拦截器, 重写preHandle方法. 1.配置拦截器: 2重写方法 这样就实现了拦截器. 其中 ...

  8. spring boot配置mybatis和事务管理

    spring boot配置mybatis和事务管理 一.spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依赖如下: <!-- Spri ...

  9. [转] Spring Boot配置多个DataSource

    [From]  https://www.liaoxuefeng.com/article/001484212576147b1f07dc0ab9147a1a97662a0bd270c20000 Sprin ...

随机推荐

  1. 理解RESTful架构——Restful API设计指南

    理解RESTful架构 Restful API设计指南 理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式 ...

  2. 用源码搭建LNMP环境+部署WordPress

    首先要做的是就是关闭Centos7.4的防火墙及selinux #systemctl stop firewalld #systemctl disable firewalld #sed -ri 's/^ ...

  3. Hive 默认分隔符

    引言 Hive 中的默认分隔符是 ^A (\001) ,这是一种特殊的分隔符,使用的是 ASCII 编码的值,键盘是打不出来的 查看 Hive 默认分隔符文件 Linux 上的文件 以 \001 作为 ...

  4. DES加密 超详解 及 C++编程实现

    参考资料: 1.计算机与软件学院实验报告管理系统资料 2.强烈推荐观看:<信息安全技术>课程微课设计 简介 什么是DES DES全称为Data Encryption Standard,即数 ...

  5. 云计算OpenStack核心组件---glance镜像服务(6)

    一.glance介绍: Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查询虚拟机镜像的metadata ...

  6. ms5611-01ba03 气压传感器 中英文 数据手册

    中文: https://wenku.baidu.com/view/6f8a861fff00bed5b9f31d53.html 英文: https://wenku.baidu.com/view/fe93 ...

  7. easyUI中datagrid展示对象下属性以及显示多个子属性(Day_37)

    easyUI中datagrid展示对象下属性以及显示多个子属性 显示对象单个属性值 添加formatter属性 <th field="decidedzone" width=& ...

  8. Freemaker生成复杂样式图片并无文件损坏的excel

    Freemaker生成复杂样式图片并无文件损坏的excel 参考Freemarker整合poi导出带有图片的Excel教程,优化代码实现 功能介绍:1.支持Freemarker导出Excel的所有功能 ...

  9. 初遇SpringBoot踩坑与加载静态文件遇到的坑

                              SpringBoot开发 创建SpringBoot项目 大家都知道SpringBoot开发非常快,创建SpringBoot项目时,勾上SpringW ...

  10. [leetcode] 37. 解数独(Java)(dfs,递归,回溯)

    37. 解数独 1A 这个题其实15分钟左右就敲出来并且对了...但是由于我输错了一个数..导致我白白debug一个多小时.. 没啥难度,练递归-dfs的好题 class Solution { pri ...