SpringBoot2.x过后static下的静态资源无法访问的问题
作者:苍穹之跃 发布时间:2023-07-07 00:21:09
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
这里注意哦,需要加上static哦。看完上面分享的链接我想大家就会明白为什么了。
版本果然很坑,希望大家以后遇到类似的问题的时候,能够考虑到这一点哦。
来源:https://blog.csdn.net/wenxingchen/article/details/84139845


猜你喜欢
- 本文实例讲述了C#实现根据年份计算生肖属相的方法。分享给大家供大家参考。具体分析如下:提供年份可以输出属相,代码比较简单,因为2008年为鼠
- CountDownLatch 是一个非常实用的多线程控制工具类。” Count Down ” 在英文中意为倒计数, Latch 为门问的意思
- 本文实例讲述了Android编程中自定义dialog用法。分享给大家供大家参考,具体如下:dialog是android中提供的一组弹出提示框
- 1 原码、反码、补码原码:将十进制转化为二进制即原码;反码:正数的反码与原码相同,负数的反码(除却最高位的符号位不变)与原码相反
- InputStreamReader 类1、概述转换流 java.io.InputStreamReader ,是Reader的子类,是从字节流
- 在java开发中,类、接口、方法,都需要进行注释,注释内容如图:注释中的基本元素有:描述、作者、创建日期。可增加元素有:修改日期、修改内容、
- 用注解实现Mybatis插入数据返回自增的主键Id我们在数据库表设计的时候,一般都会在表中设计一个自增的id作为表的主键。这个id也会关联到
- Web UI项目中, 很多 Spring controller 视图函数直接返回 html 页面, 还有一些视图函数是要重定向或转发到其他的
- .net.Frameword中提供了一个专门产生随机数的类System.Random,此类默认情况下已被导入,编程过程中可以直接使用。我们知
- 前不久,我们发布了《选择 .NET 的 n 个理由》。它提供了对平台的高层次概述,总结了各种组件和设计决策,并承诺对所涉及的领域发表更深入的
- Android中图片的左右切换随处可见,今天我也试着查阅资料试着做了一下,挺简单的一个小Demo,却也发现了一些问题,话不多说,上代码~:使
- 在做asp.net和unity进行http通信的时候,当unity客户端发出表单请求的时候,我要将他要请求的数据以json的格式返回给客户端
- 这篇文章主要介绍了spring boot 2整合swagger-ui过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- Android中实现定时器的四种方式第一种方式利用Timer和TimerTask1、继承关系java.util.Timer基本方法sched
- 题外话:学习.NET已经有一年了,从C#->ASP.NET->WPF。主要以看电子书为主,比较少写代码。现在回头学习以前接触过的
- 这里我们以拨打电话申请权限来写个小例子,也就是CALL_PHONE,因为拨打电话会涉及用户手机的资费问题,因而被列为了危险权限,在Andro
- 本文讲解2点:1. fastjson生成和解析json数据(举例:4种常用类型:JavaBean,List<JavaBean>,
- 一, eclipse springboot打war包1. 配置pom.xml文件<packaging>war</packa
- 引言这一篇文章我们就通过介绍滑动冲突的规则和一个实例来更加深入的学习View的事件分发机制。1、外部滑动方向和内部滑动方向不一致考虑这样一种
- 1、本篇内容本文让大家掌握 springmvc 中异步处理请求,特别牛逼的一个功能,大家一定要掌握。2、看段代码,分析问题@Response