1、直接使用过滤器不会生效@WebFilter(urlPatterns="/dd/*", filterName=“loginFilter”)

需要在springboot启动类上加上@ServletComponent注解才会生效(推荐这种方式)

/**  * @author nineee* @description urlPatterns:拦截的url地址 *              filterName:拦截器名称* @date 2020/8/31 16:09*/
@Slf4j
@WebFilter(urlPatterns="/dd/*", filterName="loginFilter")
public class LoginFilter implements Filter{/** 容器加载完成调用* */@Overridepublic void init(FilterConfig filterConfig) throws ServletException {log.info("LoginFilter.init");}/**  请求被拦截的时候调用* */@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {log.info("LoginFilter.doFilter");HttpServletRequest req = (HttpServletRequest)request;HttpServletResponse resp = (HttpServletResponse)response;chain.doFilter(request, response);}/** 容器被销毁的时候调用* */@Overridepublic void destroy() {System.out.println("filter destroy...");}
}
@SpringBootApplication
@ServletComponentScan
public class NineeeStart {public static void main(String[] args) {SpringApplication.run(NineeeStart.class, args);}
}

2、手动配置bean

不需要@WebFilter注解


/*** @author nineee* @description urlPatterns:拦截的url地址*              filterName:拦截器名称* @date 2020/8/31 16:09*/
@Slf4j
public class LoginFilter implements Filter{/** 容器加载完成调用* */@Overridepublic void init(FilterConfig filterConfig) throws ServletException {log.info("LoginFilter.init");}/**  请求被拦截的时候调用* */@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {log.info("LoginFilter.doFilter");HttpServletRequest req = (HttpServletRequest)request;HttpServletResponse resp = (HttpServletResponse)response;chain.doFilter(request, response);}/** 容器被销毁的时候调用* */@Overridepublic void destroy() {System.out.println("filter destroy...");}
}
@Configuration
public class WebAuthFilterConfig {@Beanpublic FilterRegistrationBean webAuthFilterRegistration() {FilterRegistrationBean registration = new FilterRegistrationBean();registration.setFilter(loginFilter());registration.setName("LoginFilter");registration.addUrlPatterns("/spu/*");
//        registration.addInitParameter("excludeUrls", "/web/login");registration.setOrder(0);return registration;}@Beanpublic Filter loginFilter() {return new LoginFilter();}
}

3、网上有的加上@Component注解@Configuration注解过滤器会生效,url会匹配全部,原因得去扒源码看。

@WebFilter两种使用方法和失效解决方案相关推荐

  1. 在.NET中执行Async/Await的两种错误方法

    微信公众号:架构师高级俱乐部 关注可了解更多的编程,架构知识.问题或建议,请公众号留言; 如果你觉得此文对你有帮助,欢迎转发 在.NET中执行异步/等待的两种错误方法 在应用开发中,我们为了提高应用程 ...

  2. 笔记本无法使用计算机,电脑Win快捷键失灵不能用的两种处理方法

    运行电脑时如果不想用鼠标点,或者鼠标不好用的时候,那么Win快捷键就派上用处了,比如Win+ E打开任务管理器,Win+A打开操作中心,能解决不少繁琐事情.有时候键盘中两个Win键失灵了都不能用,相信 ...

  3. android中view手势滑动冲突的两种解决方法

    android中view手势滑动冲突的解决方法,主要解决方法有两种,外部和内部拦截.有需要的可以参考下. Android手势事件的冲突跟点击事件的分发过程息息相关,由三个重要的方法来共同完成,分别是: ...

  4. edge不能打开html网页,win10自带浏览器Edge打不开网页的两种修复方法

    Windows10专业版自带的Edge浏览器十分好用,其实内置很多其他浏览器没有的功能,深受网友们喜爱.不过在使用过程中也遇到一点问题,比如Edge打不开网页,不懂哪里出现问题,尝试多次还是一样.大家 ...

  5. 横切关注点的两种实现方法

    横切关注点的两种实现方法 软件系统,可看作由一组关注点组成.其中,直接的业务关注点,是直切关注点.而为直切关注点提供服务的,就是横切关注点. 有两种方法可以提供横切关注点,一种是传统的OOP方法,提供 ...

  6. 两种常见的台式计算机,台式电脑设置开机自动读系统盘的两种设置方法

    台式电脑设置开机自动读系统盘的两种设置方法 发布时间:2014-01-22 10:16:21   作者:佚名   我要评论 怎么设置开机自动读系统盘?在此介绍常见的两种版本BIOS的具体设置,Awar ...

  7. Servlet 过滤器两种配置方法

    Servlet 过滤器两种配置方法 方法一(注解) /** * 使用注解标注过滤器 * @WebFilter将一个实现了javax.servlet.Filte接口的类定义为过滤器 * 属性filter ...

  8. 快速排序的两种实现方法(c语言版本)

    经过调研发现,对任意无序整数数组,快速排序有两种实现方法,这里简单阐述下思路: 思路一:随意选择一个基准元,一般选择数组的起始元或末尾元,Weiss这本书上特意搞了个算法来选择基准元,--,总之就是基 ...

  9. R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况

    R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况 目录

最新文章

  1. ehchache验证缓存过期的api_ASP.NET Core ResponseCache进行缓存操作
  2. R语言ggplot2可视化绘制线图(line plot)、使用gghighlight包突出高亮线图的满足条件的线图、设置高亮线图不显示默认自动显示的文本标签(use_direct_label)
  3. 类脑计算的一大突破 BrainScaleS-2
  4. linux下boost的一个扩展线程池-threadpool-的学习
  5. Windows之Chocolatey:windows下的apt-get即Chocolatey简介、安装、使用方法之详细攻略
  6. 2020 年 4 月全国程序员工资新鲜出炉,我拖后腿了!
  7. 微信小程序rpx作为高度单位时,在 ios 出现异常
  8. 单击选定单元格后输入新内容_2015年计算机一级msoffice考前简答题练习
  9. [引]符号的英文说法
  10. 体验:Office SharePoint foundation 2010 Beta版安装使用
  11. EK中fromCharCode和parseInt的配合使用
  12. 地理空间数据下载 积累
  13. 快速fcm matlab,Matlab中的FCM算法代码及中文详解
  14. 网吧游戏更新对比软件技术报告
  15. Qt系列文章之 mousePressEvent
  16. 深度学习教程(15) | 自然语言处理与词嵌入(吴恩达·完整版)
  17. (小脚本) (python) 批量修改文件后缀名
  18. 西安理工大学计算机科学与工程学院官网,罗靖-西安理工大学计算机科学与工程学院...
  19. Swoole进阶——02 内存之Table
  20. Docker方式部署Github监控系统Hawkeye

热门文章

  1. 微电网优化调度|农村农业区可再生能源微电网优化调度(Python代码实现)
  2. 微电网和直流电网中最优潮流(OPF)的凸优化(Matlab代码实现)
  3. TUTK[MediaSDK][Android] 如何在android系统上实现后台编码功能
  4. GeoGebra 动态数学软件
  5. 关于计算机的英语演讲话题,大学生英语演讲话题
  6. 常微分方程_什么是微分方程
  7. 【项目管理/PMP/PMBOK第六版/新考纲】计算题25道带答案解析!质量管理/风险规划/整合管理
  8. 区块链的应用领域——数字版权(四)
  9. 如何使用命令在navicat中操作
  10. Matlab在线使用