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