springboot(7)——訪問靜態資源&WebJars&圖標&歡迎頁面

目錄html

 

概述前端

 1.訪問WebJar資源java

2.訪問靜態資源jquery

3.favicon.ico圖標web

4.歡迎頁面spring


概述

使用Springboot進行web開發時,boot底層實際用的就是springmvc,項目中加入spring-boot-starter-web依賴,就會提供嵌入的tomcat以及mvc依賴,能夠查看依賴樹編程

 1.訪問WebJar資源

Web前端使用了愈來愈多的JS或CSS,如jQuery, Backbone.js 和Bootstrap。通常狀況下,咱們是將這些Web資源拷貝到Java的目錄下,經過手工進行管理,這種通方式容易致使文件混亂、版本不一致等問題。tomcat

WebJars是將這些通用的Web前端資源打包成Java的Jar包,而後藉助Maven工具對其管理,保證這些Web資源版本惟一性,升級也比較容易。關於webjars資源,有一個專門的網站https://www.webjars.org/,咱們能夠到這個網站上找到本身須要的資源,在本身的工程中添加入maven依賴,便可直接使用這些資源了。mvc

直接訪問app

 

原理過程:

查看引入的jar包

SpringBoot將對/webjars/**的訪問重定向到classpath:/META-INF/resources/webjars/**

源碼以下

public void addResourceHandlers(ResourceHandlerRegistry registry) {
            if(!this.resourceProperties.isAddMappings()) {
                logger.debug("Default resource handling disabled");
            } else {
                Duration cachePeriod = this.resourceProperties.getCache().getPeriod();
                CacheControl cacheControl = this.resourceProperties.getCache().getCachecontrol().toHttpCacheControl();
                if(!registry.hasMappingForPattern("/webjars/**")) {
                    this.customizeResourceHandlerRegistration(registry.addResourceHandler(new String[]{"/webjars/**"}).addResourceLocations(new String[]{"classpath:/META-INF/resources/webjars/"}).setCachePeriod(this.getSeconds(cachePeriod)).setCacheControl(cacheControl));
                }

                String staticPathPattern = this.mvcProperties.getStaticPathPattern();
                if(!registry.hasMappingForPattern(staticPathPattern)) {
                    this.customizeResourceHandlerRegistration(registry.addResourceHandler(new String[]{staticPathPattern}).addResourceLocations(WebMvcAutoConfiguration.getResourceLocations(this.resourceProperties.getStaticLocations())).setCachePeriod(this.getSeconds(cachePeriod)).setCacheControl(cacheControl));
                }

            }
        }

因此可以使用目錄 localhost:8080/webjars/jquery/3.3.1/jquery.js訪問靜態資源

2.訪問靜態資源

SpringBoot默認配置下,提供瞭如下幾個靜態資源目錄:

/static:classpath:/static/

/public:classpath:/public/

/resources:classpath:/resources/

/META-INF/resources:classpath:/META-INF/resources/

固然,能夠經過spring.resources.static-locations配置指定靜態文件的位置。

#配置靜態資源
    spring:
      resources:
        #指定靜態資源目錄
        static-locations: classpath:/mystatic/

 

3.favicon.ico圖標

若是在配置的靜態資源目錄中有favicon.ico文件,SpringBoot會自動將其設置爲應用圖標。

在Spring Boot的配置文件application.properites中能夠添加配置項spring.mvc.favicon.enabled=false關閉默認的favicon,

4.歡迎頁面

SpringBoot支持靜態和模板歡迎頁,它首先在靜態資源目錄查看index.html文件作爲首頁,被/**映射

                         公衆號 java一號 更多java實戰項目資料、技術幹活。更重要的是小猿願成爲你編程路上的一個朋友!

文章首發地址: www.javayihao.top

首發公衆號: java一號

相關文章
相關標籤/搜索