返回顶部
首页 > 资讯 > 精选 >在springboot中怎样使用filter设置要排除的URL
  • 472
分享到

在springboot中怎样使用filter设置要排除的URL

2023-06-22 05:06:00 472人浏览 安东尼
摘要

在SpringBoot中怎样使用filter设置要排除的URL,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用filter设置要排除的URL@WEBFilter(urlPat

SpringBoot中怎样使用filter设置要排除的URL,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

使用filter设置要排除的URL

@WEBFilter(urlPatterns = "/*")@Order(value = 1)public class TestFilter implements Filter {     private static final Set<String> ALLOWED_PATHS = Collections.unmodifiableSet(new HashSet<>(            Arrays.asList("/main/excludefilter", "/login", "/loGout", "/reGISter")));    @Override    public void init(FilterConfig filterConfig) throws ServletException {        System.out.println("init-----------filter");    }     @Override    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {        httpservletRequest request = (HttpServletRequest) req;        HttpServletResponse response = (HttpServletResponse) res;        String path = request.getRequestURI().substring(request.getContextPath().length()).replaceAll("[/]+$", "");        boolean allowedPath = ALLOWED_PATHS.contains(path);         if (allowedPath) {            System.out.println("这里是不需要处理的url进入的方法");            chain.doFilter(req, res);        }        else {            System.out.println("这里是需要处理的url进入的方法");        }    }     @Override    public void destroy() {        System.out.println("destroy----------filter");    }}

@Order中的value越小,优先级越高。

  • ALLOWED_PATHS

这个是一个集合,存放的是需要排出的URL,用来判断是否是需要排除的URL。

关于为什么springBoot中使用了@WebFilter但是过滤器却没有生效:一定要加上@Configuration注解,@Service其实也可以,其他类似。

filter指定过滤URL的常见问题

在使用Filter对一些自己指定的URL进行过滤拦截时

经常会出现如下错误

明明在@WebFilter(urlPatterns={"/app/online"})中过滤的是/app/online 路径,但是运行之后发现,这个WebFilter过滤器对所有的URL都进行了过滤。

运行之后发现过滤器没有初始化,没有被加载

下面总结一下使用正确的

合适的注解配置filter的方法:

1、 指定路径

在class 上添加注解@WebFilter(urlPatterns={"/app/online"})

然后在启动类(**Application.java )上添加注解@ServletComponentScan

即可。

代码如下:

在springboot中怎样使用filter设置要排除的URL

在springboot中怎样使用filter设置要排除的URL

2、 过滤所有路径

在class上添加@Component或@Configuration 即可

如果添加了@Component或@Configuration,又添加了@WebFilter(),那么会初始化两次Filter,并且会过滤所有路径+自己指定的路径便会出现对没有指定的URL也会进行过滤

//过滤所有路径@Componentpublic class WebFilter implements Filter(){//override三个方法。。。。。。@Override public void init (FilterConfig filterConfig) throws ServletException{ System.out.println("初始化filter"); }}

看完上述内容,你们掌握在springboot中怎样使用filter设置要排除的URL的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: 在springboot中怎样使用filter设置要排除的URL

本文链接: https://lsjlt.com/news/302719.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在springboot中怎样使用filter设置要排除的URL
    在springboot中怎样使用filter设置要排除的URL,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用filter设置要排除的URL@WebFilter(urlPat...
    99+
    2023-06-22
  • 在springboot中如何使用filter设置要排除的URL
    目录使用filter设置要排除的URLfilter指定过滤URL的常见问题经常会出现如下错误下面总结一下使用正确的1、 指定路径2、 过滤所有路径使用filter设置要排除的URL ...
    99+
    2024-04-02
  • Java filter中的chain.doFilter使用是怎样的
    Java filter中的chain.doFilter使用是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。filter中的chain.doFilter使用...
    99+
    2023-06-25
  • 怎么在css中清除默认样式和设置公共样式
    怎么在css中清除默认样式和设置公共样式?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。CSS 清除默认样式通常的清除默认样式:*{    ...
    99+
    2023-06-08
  • 怎么在pyqt5中使用setStyleSheet设置单元格样式
    这期内容当中小编将会给大家带来有关怎么在pyqt5中使用setStyleSheet设置单元格样式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。steStyleSheet的语法和css类似,可以针对某一类元...
    99+
    2023-06-14
  • 怎么在SpringBoot中设置传入的参数
    本篇文章给大家分享的是有关怎么在SpringBoot中设置传入的参数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。设置参数是否为必要参数@RequestParam(requir...
    99+
    2023-06-06
  • 怎么在CSS中使用Reset重置样式
    本篇文章给大家分享的是有关怎么在CSS中使用Reset重置样式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。html{     ...
    99+
    2023-06-08
  • 怎么使用CP / SCP / RSYNC在Linux中排除特定目录
    这篇文章给大家分享的是有关怎么使用CP / SCP / RSYNC在Linux中排除特定目录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在本文中,我们将演示如何排除特定的文件或目录,或者使用用于此目的的三种最常...
    99+
    2023-06-16
  • 在网页设计中怎样对文字进行排版的优化
    小编给大家分享一下在网页设计中怎样对文字进行排版的优化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!由于文字是网站内容的核心主体,而且对于搜索引擎而言,所需要采集...
    99+
    2023-06-07
  • 怎么在goland中清除所有的默认设置
    本篇文章为大家展示了怎么在goland中清除所有的默认设置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在我首次创建.tpl文件时出现以下选项,因为系统并不知道.tpl文件是什么,所以首次创建需要你...
    99+
    2023-06-14
  • 怎样使用html/css设置背景图片居中
    怎样使用html/css设置背景图片居中,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在html/css中,可以利用background-...
    99+
    2024-04-02
  • Python中怎么使用Pygal设置数据图样式
    这篇文章将为大家详细讲解有关Python中怎么使用Pygal设置数据图样式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用 Pygal 进行时尚的 Python 绘图在本文中,我们要重新创...
    99+
    2023-06-16
  • 在Navicat中怎样设置数据库的操作权限
    这篇文章主要介绍了在Navicat中怎样设置数据库的操作权限,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。一、新建用户1、用Navicat连接本...
    99+
    2024-04-02
  • 怎么在Android中使用LinearLayout设置边框
    本篇文章为大家展示了怎么在Android中使用LinearLayout设置边框,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。定一个underline的xml文件,把它放到drawable下under...
    99+
    2023-05-30
    android linearlayout
  • 在html5中怎样使用js的方法
    这篇文章主要介绍在html5中怎样使用js的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   在html5中使用js的两种方法:   使用<script>标签的...
    99+
    2024-04-02
  • vue中怎么使用v-if,v-else来设置css样式
    这篇“vue中怎么使用v-if,v-else来设置css样式”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue中怎么使用v...
    99+
    2023-07-05
  • 在ASP中将ValidateRequest设置为false的使用
    在ASP中,可以将ValidateRequest属性设置为false来禁用请求的验证功能。这可以用于处理一些特殊情况下的输入,例如包...
    99+
    2023-09-27
    ASP
  • 排除法是怎样解决网站在搜索过程中表现不佳的现象
    这篇文章将为大家详细讲解有关排除法是怎样解决网站在搜索过程中表现不佳的现象,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。搜索引擎排名机制异常的复杂和严密,直接导致很多网站内容发布出来在搜索引...
    99+
    2023-06-13
  • PHPUnit 在 Windows下的配置及使用是怎么样的
    这篇文章将为大家详细讲解有关PHPUnit 在 Windows下的配置及使用是怎么样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。由于我们项目涉及到php,因此需要对php代码进行单元测试...
    99+
    2023-06-17
  • 如何在ubuntu18.04中设置使用中文输入法的使用
    ubuntu 在最新的版本中已经可以不用用户自己单独去下载中文输入法使用了,本次使用为 ubuntu18.04LTS版本(登陆是界面选择的是ubuntu on wayland),设置方式非常简单 1、打开设置,不知道的请...
    99+
    2022-06-04
    ubuntu18.04 中文输入法 ubuntu 中文输入法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作