SpringBoot2.x过后static下的静态资源无法访问的问题

 更新时间:2023年01月12日 09:24:12   作者:苍穹之跃  
这篇文章主要介绍了SpringBoot2.x过后static下的静态资源无法访问的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

SpringBoot2.x过后static下的静态资源无法访问

package com.example.thymeleaf.commons;
 
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
/**
 * 配置静态资源映射
 *
 * @author sunziwen
 * @version 1.0
 * @date 2018-11-16 14:57
 **/
@Component
public class WebMvcConfig implements WebMvcConfigurer {
    /**
     * 添加静态资源文件,外部可以直接访问地址
     *
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }
}

使用SpringBoot2.x时遇到静态资源访问不到的坑

问题

最近项目当中有一个需求就是:下载excel模板。当时我笑了,这个简单!毕竟以前做过这样的需求,于是乎二话不说直接开码,做法如下: 

坎坷一

因为springboot很方便,直接在static文件下放入我的模板

于是乎我开心的请求了我的路径:http://localhost:8020/excel/demo.xlsx

什么鬼!!!?和我想象的不~~~~一样!我们不一样?

坎坷二

进过一番琢磨,虽然springboot默认设置了静态文件路径,但是这里我还是想做个配置明确一下我的静态文件文件路径:

配置好了以后,我悄悄的点了以上路径,结果?还是不行。

解决

后来我搜索了相关资料,发现这个和springBoot的版本有关,2.X以后的版本如果想访问静态资源就不能直接访问了,需要经过一翻配置。

这里分享一个链接:https://www.jb51.net/article/272426.htm

这里是说明了为什么不能访问静态资源。

好了,这里我是这么解决:

有必要说一下,我以前的项目使用的是springboot 1.4.4.RELEASE,现在使用的是springboot 2.0.6.RELEASE。

在我的项目当中我使用了WebMvcConfigurationSupport这个类,所以我做了如下改变:

(ps:配置里面的 srping.mvc.static-path-pattern: /static/** 是可以干掉的)

然后请求:http://localhost:8020/static/excel/demo.xlsx

lujing

这里注意哦,需要加上static哦。看完上面分享的链接我想大家就会明白为什么了。

版本果然很坑,希望大家以后遇到类似的问题的时候,能够考虑到这一点哦。

总结

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

相关文章

  • Java 为什么要避免使用finalizer和Cleaner

    Java 为什么要避免使用finalizer和Cleaner

    这篇文章主要介绍了Java 为什么要避免使用finalizer和Cleaner,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-03-03
  • Java Ribbon与openfeign区别和用法讲解

    Java Ribbon与openfeign区别和用法讲解

    Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具,主要功能是提供客户端的软件负载均衡算法和服务调用。openfeign对Feign进行了增强,使其支持Spring MVC注解,另外还整合了Ribbon和Nacos,从而使得Feign的使用更加方便
    2022-08-08
  • Fluent Mybatis实现环境隔离和租户隔离

    Fluent Mybatis实现环境隔离和租户隔离

    我们在实际的业务开发中,经常会碰到环境逻辑隔离和租户数据逻辑隔离的问题。本文就详细的来介绍一下,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • java跳出for循环的三种常见方法

    java跳出for循环的三种常见方法

    这篇文章主要给大家介绍了关于java跳出for循环的三种常见方法,需要的朋友可以参考下
    2023-07-07
  • Java正确比较浮点数的方法

    Java正确比较浮点数的方法

    这篇文章主要介绍了Java正确比较浮点数的方法,帮助大家更好的利用Java比较浮点数数据,感兴趣的朋友可以了解下
    2020-11-11
  • 关于Guava缓存详解及使用说明

    关于Guava缓存详解及使用说明

    这篇文章主要介绍了关于Guava缓存详解及使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java编程实现多线程TCP服务器完整实例

    Java编程实现多线程TCP服务器完整实例

    这篇文章主要介绍了Java编程实现多线程TCP服务器完整实例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • java原装代码完成pdf在线预览和pdf打印及下载

    java原装代码完成pdf在线预览和pdf打印及下载

    本文主要介绍了java原装代码完成pdf在线预览和pdf打印及下载的方法,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Java刷题之最小k个数的思路及具体实现

    Java刷题之最小k个数的思路及具体实现

    这篇文章主要介绍了Java刷题之最小k个数的思路及具体实现,最小K个数是一个经典的top-K问题,可以通过整体排序、建立小根堆或大根堆的方式解决,排序方式时间复杂度较高,适合数据量小的场景,小根堆适合k较小的情况,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • 关于log4j2的异步日志输出方式

    关于log4j2的异步日志输出方式

    这篇文章主要介绍了关于log4j2的异步日志输出方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论