亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

記錄一個spring boot 靜態資源訪問問題

標簽:
Java SpringBoot

spring boot 只要把静态资源放在static目录下,理论是可以直接访问的。

但是,今天却发现了一个很是头疼的问题,静态资源放入static文件夹了,但通过浏览器却是访问不到。

网上搜索了一大堆,都是一份文章你抄来,他抄去,一点价值都没有。

于是回到控制台,仔细查看spring boot 启动时输出的日志信息:

5bffbcaf0001590508350043.jpg

发现spring boot并没有对这个URL做映射,这应该是我做了什么自定义配置导致的spring boot 默认的自动配置被替换掉了。

于是把问题定位到了一个继承了WebMvcConfigurationSupport的java配置上:

public class WebConfig extends WebMvcConfigurationSupport {

 
   @Override
   public void addInterceptors(InterceptorRegistry registry) {
       registry.addInterceptor(new HttpInterceptor());
   }


}

有可能是这段代码导致的URL映射没自动进行。关掉这个配置,果然能从浏览器访问到静态资源了。

于是寻找这个配置添加资源映射的方法,找到了一个addResourceHandlers方法。

重载这个方法,搜索ResourceHandlerRegistry的用法:

private static final String[] RESOURCE_LOCATIONS =
           { "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/" };
   @Override
   protected void addResourceHandlers(ResourceHandlerRegistry registry) {
       try {

           File directiory = new File("");
           registry.addResourceHandler("/**").addResourceLocations(RESOURCE_LOCATIONS).addResourceLocations("file:" + directiory.getCanonicalPath() + "/");

       } catch (Exception e) {

       }

}

添加之后,静态资源正常访问。


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消