国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 基于SpringBoot啟動類靜態資源路徑問題

基于SpringBoot啟動類靜態資源路徑問題

2021-12-24 13:10「已注銷」 Java教程

這篇文章主要介紹了SpringBoot啟動類靜態資源路徑問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringBoot啟動類靜態資源路徑

SpringBoot核心配置類

SpringBoot核心JAR包--》spring-boot-autoconfigure-2.2.6.RELEASE.jar

其下面有--》org.springframework.boot.autoconfigure.web

其中有類--》ResourceProperties

類中這樣定義默認靜態資源訪問:

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/",
    "classpath:/resources/", "classpath:/static/", "classpath:/public/" };

分別是一下四個靜態資源路徑

  • /META-INF/resources/
  • /resources/
  • /static/
  • /public/

靜態資源都是再classpath中,那么問題來了,IDEA中的classpath在哪里呢 ?我們來看

基于SpringBoot啟動類靜態資源路徑問題

點擊進入項目的結構設計中--》首先在打開的項目窗口打開File->Project Structure...,得到如下圖所示的項目結構:

基于SpringBoot啟動類靜態資源路徑問題

Source Folders表示的都是代碼源文件目錄,生成的class文件會輸出到target->classess文件夾中,但是里面的源文件不會復制到target->classes文件夾中,Test Source Folders表示的都是測試代碼源文件目錄,生成的class文件同樣會輸出到target->classess文件夾中,并且里面的源文件不會復制到target->classes文件夾中。

而Recource Folders表示的都是資源文件目錄,這些目錄里面的文件會在代碼編譯運行被直接復制到target->classess文件夾中。target->classes即為classpath,任何我們需要在classpath前綴中獲取的資源都必須在target->classes文件夾中找到,否則將出現java.io.FileNotFoundException的錯誤信息。

如果想添加一些自己的目錄到Source Folders、Resource Folders這樣的目錄分類里來實現編譯過后正確地文件輸出,則可以點擊需要設置的文件夾,再在文件結構窗口上方的Make as:后面選擇正確的目錄類型即可。

所以我們的項目靜態資源的文件夾訪問就是以這里的Resource Folder為基準,舉個例子:

classpath:/static/指的就是:src/main/resources/static

所以SpringBoot的默認index.xml可以放在路徑為src/main/resources/static的文件夾下,這樣項目一啟動index.html就自動加載了。

基于SpringBoot啟動類靜態資源路徑問題

我們將src設置成了Resource Folders,接下來我們在src下創建/META-INF/resources/路徑:

基于SpringBoot啟動類靜態資源路徑問題

我們啟動項目(這個時候是沒有建立任何類,啟動類啟動加載默認的index)

基于SpringBoot啟動類靜態資源路徑問題

成功展示index.html的內容,沒有問題。其他幾個路徑都是沒有問題的,

這里有一個問題就是這幾個路徑的人順序問題。我們封閉建立這樣四個路徑,分別設置不同的內容:

基于SpringBoot啟動類靜態資源路徑問題

啟動后輸出的還是HelloWorld,現在我們刪掉/META-INF/resources/的index.html再看看:

基于SpringBoot啟動類靜態資源路徑問題

成功輸出。其他的就不再試了,明確的是它的默認加載順序是按照源碼里的順序來的。分別是:

  • /META-INF/resources/
  • /resources/
  • /static/
  • /public/
private String[] appendSlashIfNecessary(String[] staticLocations) {
 String[] normalized = new String[staticLocations.length];
 for (int i = 0; i < staticLocations.length; i++) {
    String location = staticLocations[i];
    normalized[i] = location.endsWith("/") ? location : location + "/";
 }
 return normalized;
}
//循環遍歷存放這幾個路徑,按照順序加載。

 

靜態文件存放位置設置

默認配置

SpringBoot把類路徑下的/static,/public,/resources和META-INF/resources文件下的靜態文件映射為/,可以通過http://localhost:8080/訪問

SpringBoot默認了靜態文件的位置src/main/resources下的static目錄,如下:

static目錄需要自己創建。HTML也可以放在里面

src/main/resources
  |_static
      |_js
      |_img
          |_demo.png
      |_css

在html代碼中使用一下代碼即可訪問圖片

<img src="img/demo.png">

自定義位置

添加一個目錄位置

src/main/resources
  |_myImg
      |_demo.png
  |_static
      |_js
      |_img
      |_css

添加一個@Configuration注解的配置類

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* 自定義的圖片路徑
* @author pzr
*
*/
@Configuration
public class MyImageAddr extends WebMvcConfigurerAdapter  {
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
      //addResourceHandler中的是訪問路徑,可以修改為其他的字符串
      //addResourceLocations中的是實際路徑
      registry.addResourceHandler("/myImg/**").addResourceLocations("classpath:/myImg/");
      super.addResourceHandlers(registry);
  } 
}

在html代碼中使用一下代碼即可訪問圖片

<img src="/myImg/demo.png">

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/ww1130212073cf/article/details/105309450

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日本一区二区三区免费观看 | 精品视频在线免费观看 | 精品一区二区在线观看 | 成人在线视频免费观看 | 91久久国产综合久久91精品网站 | 一级录像免费录像在线观看 | 欧美成人高清视频 | 精品无码久久久久久国产 | 久久成人免费视频 | 一级一片免费视频 | 91精品国产综合久久香蕉的用户体验 | 久久久久国产精品免费 | 亚洲视频在线观看免费 | 精品黄色国产 | 视频一区中文字幕 | 搞黄网站| 亚洲精品三级 | 九九综合 | 欧美精品一区二区蜜臀亚洲 | 起碰在线视频 | 久久九 | 久久中文视频 | 午夜在线视频 | 久久三区 | 成人欧美一区二区三区视频xxx | 久久中文字幕视频 | 国产精品99久久久久久动医院 | 欧美视频一二三区 | 欧美精品一区三区 | 国产露脸国语对白在线 | 亚洲一级黄色 | 国产在线精品一区二区三区 | 在线精品亚洲欧美日韩国产 | 国产在线观看一区二区三区 | 精品在线看 | 久久国产一区 | 91免费观看视频 | 日韩码有限公司在线观看 | 国产精品久久久久久吹潮 | 黄视频在线观看免费 | 欧美午夜精品久久久久久浪潮 |