关于SpringBoot拦截器拦截静态资源的问题

 更新时间:2023年07月11日 10:45:16   作者:普通网友  
这篇文章主要介绍了关于SpringBoot拦截器拦截静态资源的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

SpringBoot拦截器拦截静态资源

使用springboot2.0+的版本建立拦截器拦截访问时,发现将静态的css/js资源也拦截了。

此时需要在拦截器中配置放行资源。

直接上代码

 //设置拦截,释放静态文件
       registry.addInterceptor(new LoginHandlerInterceptero()).addPathPatterns("/**")
               .excludePathPatterns("/user/login","/login.html","/css/**","/js/**");

放行"/css/**"资源。

有些使用放行static文件夹来放行所有的静态资源,不过SpringBoot默认扫描static包下的静态资源,所以好像不管用。

下图是一次项目中配置的静态资源释放,

对文件结构不是很清楚,所以直接配置释放所有文件。

springboot拦截器为什么拦截静态资源

项目目录结构如下所示

​​

首先是以继承的方式注册拦截器配置

@Configuration
public class SpringMvcSupport_extends extends WebMvcConfigurationSupport {
    @Autowired
    private LoginInterceptor loginInterceptor;
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        //配置拦截器
        registry.addInterceptor(loginInterceptor).
                //对所有的资源进行拦截,包括静态资源
                addPathPatterns("/**")
                .excludePathPatterns("/login.html","/js/**","/css/**","/lib/**");
    }

此时访问静态资源得到如下结果:

这种方式会拦截静态资源我也不知道原因是什么希望后续补坑

但是如果以实现接口的形式来注册拦截器的话就不会拦截静态资源

@Configuration
public class SpringMvcSupport implements WebMvcConfigurer {
 @Autowired
 private LoginInterceptor loginInterceptor;
 @Override
 public void addInterceptors(InterceptorRegistry registry) {
     //配置拦截器
     registry.addInterceptor(loginInterceptor).
             //对所有的资源进行拦截,包括静态资源
             addPathPatterns("/**")
             .excludePathPatterns("/login.html","/js/**","/css/**","/lib/**");
 }

运行项目此时访问静态资源就可以成功访问

这个问题卡了很久很久/(ㄒoㄒ)/~~

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot服务器端解决跨域问题

    SpringBoot服务器端解决跨域问题

    这篇文章主要介绍了SpringBoot服务器端解决跨域问题,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-11-11
  • SpringSecurity详解整合JWT实现全过程

    SpringSecurity详解整合JWT实现全过程

    JWT作为一个开放的标准( RFC 7519 ),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。接下来通过本文给大家介绍springSecurity+jwt实现互踢功能,需要的朋友可以参考下
    2022-07-07
  • java正则表达式优化超详细举例讲解

    java正则表达式优化超详细举例讲解

    正则表达式是一种强大的文本处理工具,在数据验证、字符串搜索和替换等方面有广泛应用,这篇文章主要介绍了java正则表达式优化的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-07-07
  • 如何通过jstack命令dump线程信息

    如何通过jstack命令dump线程信息

    这篇文章主要介绍了如何通过jstack命令dump线程信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • JVM内存模型知识点总结

    JVM内存模型知识点总结

    在本篇文章里小编给大家分享了关于JVM内存模型的学习心得以及相关知识点总结,有兴趣的朋友们跟着学习下。
    2019-05-05
  • 一文秒懂通过JavaCSV类库读写CSV文件的技巧

    一文秒懂通过JavaCSV类库读写CSV文件的技巧

    本文给大家推荐第三方工具库 JavaCSV,用来造一些 csv 测试数据文件,使用超级方便,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • 实例讲解Java读取一般文本文件和word文档的方法

    实例讲解Java读取一般文本文件和word文档的方法

    读取一般文本文件很好办,调用Java自带的io包里的类即可,富文本的doc文件我们可以用Apache的poi项目中的WordExtractor,这里我们一起来以实例讲解Java读取一般文本文件和word文档的方法
    2016-06-06
  • Java使用jasypt配置文件加密方式

    Java使用jasypt配置文件加密方式

    本文介绍了使用POM文件引入加密插件对配置文件内容进行加密的方法,将加密内容替换为ENC()格式,项目启动时自动解密;并提供了一种动态密钥的方法,避免每个项目单独写加解密程序
    2026-05-05
  • Mybatis常用分页插件实现快速分页处理技巧

    Mybatis常用分页插件实现快速分页处理技巧

    这篇文章主要介绍了Mybatis常用分页插件实现快速分页处理的方法。非常不错具有参考借鉴价值,感兴趣的朋友一起看看
    2016-10-10
  • SpringBoot接收form-data和x-www-form-urlencoded数据的方法

    SpringBoot接收form-data和x-www-form-urlencoded数据的方法

    form-data和x-www-form-urlencoded是两种不同的HTTP请求体格式,本文主要介绍了SpringBoot接收form-data和x-www-form-urlencoded数据的方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05

最新评论