springboot直接訪問templates下靜態頁面


springboot直接訪問templates下靜態頁面

sringboot資源文件夾resources下默認有兩個子文件夾:static、templates

關於這個文件夾的訪問權限可以通過源碼了解:

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

由源碼可知

static文件夾下的資源是可以直接訪問的,一般用來存放靜態資源(源碼中目錄下的資源都可以直接訪問)

但是templates下的資源是受保護的,不允許直接訪問。如果要訪問,可以在maven引入thymeleaf依賴,然后通過controller訪問

如果要跟static一樣可以直接被訪問,則需要在application.yml中進行配置

百度的配置:

spring:
  resources:
    static-locations: classpath:/static/,classpath:/templates/

但是配置之后顯示該配置已經過時,不建議使用

再次查看源碼:

@DeprecatedConfigurationProperty(
    replacement = "spring.web.resources.static-locations"
)
public String[] getStaticLocations() {
    return super.getStaticLocations();
}

由源碼可知配置方式為:

spring:
  web:
    resources:
      static-locations: classpath:/static/,classpath:/templates/

至此,templates下的頁面就可以直接被訪問了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM