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哦。看完上面分享的链接我想大家就会明白为什么了。

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

总结

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

相关文章

  • SpringBoot整合WebSocket实现实时通信功能

    SpringBoot整合WebSocket实现实时通信功能

    在当今互联网时代,实时通信已经成为了许多应用程序的基本需求,而WebSocket作为一种全双工通信协议,为开发者提供了一种简单、高效的实时通信解决方案,本文将介绍如何使用SpringBoot框架来实现WebSocket的集成,快速搭建实时通信功能,感兴趣的朋友可以参考下
    2023-11-11
  • 控制台显示java冒泡排序流程示例

    控制台显示java冒泡排序流程示例

    这篇文章主要介绍了控制台显示java冒泡排序流程示例,需要的朋友可以参考下
    2014-03-03
  • Java调用明华RF读写器DLL文件过程解析

    Java调用明华RF读写器DLL文件过程解析

    这篇文章主要介绍了Java调用明华RF读写器DLL文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 详解SpringBoot如何开启异步编程

    详解SpringBoot如何开启异步编程

    本文主要介绍了详解SpringBoot如何开启异步编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 在Spring Boot使用Undertow服务的方法

    在Spring Boot使用Undertow服务的方法

    Undertow是RedHAT红帽公司开源的产品,采用JAVA开发,是一款灵活,高性能的web服务器,提供了NIO的阻塞/非阻塞API,也是Wildfly的默认Web容器,这篇文章给大家介绍了在Spring Boot使用Undertow服务的方法,感兴趣的朋友跟随小编一起看看吧
    2023-05-05
  • Java中消息队列任务的平滑关闭详解

    Java中消息队列任务的平滑关闭详解

    对于消息队列的监听,我们一般使用Java写一个独立的程序,在Linux服务器上运行。程序启动后,通过消息队列客户端接收消息,放入一个线程池进行异步处理,并发的快速处理。这篇文章主要给大家介绍了关于Java中消息队列任务的平滑关闭的相关资料,需要的朋友可以参考下。
    2017-11-11
  • Java比较对象大小两种常用方法

    Java比较对象大小两种常用方法

    这篇文章主要介绍了Java比较对象大小两种常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • SpringBoot返回html界面的使用示例

    SpringBoot返回html界面的使用示例

    本文主要介绍了SpringBoot返回html界面的使用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • Java NIO下ByteBuffer的常用方法学习

    Java NIO下ByteBuffer的常用方法学习

    这篇文章主要带大家来初步学习一下NIO 中的 ByteBuffer的应用与常用方法,文中的示例代码讲解详细,对我们深入学习Java有一定的帮助,感兴趣的可以了解一下
    2023-05-05
  • Java  队列实现原理及简单实现代码

    Java 队列实现原理及简单实现代码

    这篇文章主要介绍了Java 队列实现原理及简单实现代码的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论