SpringBoot2.x過后static下的靜態(tài)資源無法訪問的問題
SpringBoot2.x過后static下的靜態(tài)資源無法訪問
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; /** * 配置靜態(tài)資源映射 * * @author sunziwen * @version 1.0 * @date 2018-11-16 14:57 **/ @Component public class WebMvcConfig implements WebMvcConfigurer { /** * 添加靜態(tài)資源文件,外部可以直接訪問地址 * * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); } }
使用SpringBoot2.x時(shí)遇到靜態(tài)資源訪問不到的坑
問題
最近項(xiàng)目當(dāng)中有一個(gè)需求就是:下載excel模板。當(dāng)時(shí)我笑了,這個(gè)簡(jiǎn)單!畢竟以前做過這樣的需求,于是乎二話不說直接開碼,做法如下:
坎坷一
因?yàn)閟pringboot很方便,直接在static文件下放入我的模板
于是乎我開心的請(qǐng)求了我的路徑:http://localhost:8020/excel/demo.xlsx
什么鬼?。。?和我想象的不~~~~一樣!我們不一樣?
坎坷二
進(jìn)過一番琢磨,雖然springboot默認(rèn)設(shè)置了靜態(tài)文件路徑,但是這里我還是想做個(gè)配置明確一下我的靜態(tài)文件文件路徑:
配置好了以后,我悄悄的點(diǎn)了以上路徑,結(jié)果?還是不行。
解決
后來我搜索了相關(guān)資料,發(fā)現(xiàn)這個(gè)和springBoot的版本有關(guān),2.X以后的版本如果想訪問靜態(tài)資源就不能直接訪問了,需要經(jīng)過一翻配置。
這里分享一個(gè)鏈接:http://www.dbjr.com.cn/article/272426.htm
這里是說明了為什么不能訪問靜態(tài)資源。
好了,這里我是這么解決:
有必要說一下,我以前的項(xiàng)目使用的是springboot 1.4.4.RELEASE,現(xiàn)在使用的是springboot 2.0.6.RELEASE。
在我的項(xiàng)目當(dāng)中我使用了WebMvcConfigurationSupport這個(gè)類,所以我做了如下改變:
(ps:配置里面的 srping.mvc.static-path-pattern: /static/** 是可以干掉的)
然后請(qǐng)求:http://localhost:8020/static/excel/demo.xlsx
這里注意哦,需要加上static哦??赐晟厦娣窒淼逆溄游蚁氪蠹揖蜁?huì)明白為什么了。
版本果然很坑,希望大家以后遇到類似的問題的時(shí)候,能夠考慮到這一點(diǎn)哦。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- springboot設(shè)置加載靜態(tài)資源的路徑(spring.resources.static-locations)
- SpringBoot中的static靜態(tài)資源訪問、參數(shù)配置、代碼自定義訪問規(guī)則詳解
- springboot攔截器不攔截靜態(tài)資源,只攔截controller的實(shí)現(xiàn)方法
- 關(guān)于SpringBoot攔截器攔截靜態(tài)資源的問題
- springboot應(yīng)用中靜態(tài)資源訪問與接口請(qǐng)求沖突問題解決
- SpringBoot如何訪問html和js等靜態(tài)資源配置
- springboot+thymeleaf打包成jar后找不到靜態(tài)資源的坑及解決
- SpringBoot無法訪問/static下靜態(tài)資源的解決
- SpringBoot靜態(tài)資源及原理解析
相關(guān)文章
Java 為什么要避免使用finalizer和Cleaner
這篇文章主要介紹了Java 為什么要避免使用finalizer和Cleaner,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-03-03Java?Ribbon與openfeign區(qū)別和用法講解
Ribbon是基于Netflix?Ribbon實(shí)現(xiàn)的一套客戶端負(fù)載均衡的工具,主要功能是提供客戶端的軟件負(fù)載均衡算法和服務(wù)調(diào)用。openfeign對(duì)Feign進(jìn)行了增強(qiáng),使其支持Spring MVC注解,另外還整合了Ribbon和Nacos,從而使得Feign的使用更加方便2022-08-08Fluent Mybatis實(shí)現(xiàn)環(huán)境隔離和租戶隔離
我們?cè)趯?shí)際的業(yè)務(wù)開發(fā)中,經(jīng)常會(huì)碰到環(huán)境邏輯隔離和租戶數(shù)據(jù)邏輯隔離的問題。本文就詳細(xì)的來介紹一下,感興趣的小伙伴們可以參考一下2021-08-08Java編程實(shí)現(xiàn)多線程TCP服務(wù)器完整實(shí)例
這篇文章主要介紹了Java編程實(shí)現(xiàn)多線程TCP服務(wù)器完整實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01java原裝代碼完成pdf在線預(yù)覽和pdf打印及下載
本文主要介紹了java原裝代碼完成pdf在線預(yù)覽和pdf打印及下載的方法,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02Java刷題之最小k個(gè)數(shù)的思路及具體實(shí)現(xiàn)
這篇文章主要介紹了Java刷題之最小k個(gè)數(shù)的思路及具體實(shí)現(xiàn),最小K個(gè)數(shù)是一個(gè)經(jīng)典的top-K問題,可以通過整體排序、建立小根堆或大根堆的方式解決,排序方式時(shí)間復(fù)雜度較高,適合數(shù)據(jù)量小的場(chǎng)景,小根堆適合k較小的情況,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10