内容简介:spring boot 对 web 静态资源的配置管理是通过配置类顾名思义,WebMvcAutoConfiguration 是web开发的相关配置都放在该类中的。那我们看看静态资源是如何配置的呢?从上面的代码中可以解读出两点关键信息:
spring boot 对 web 静态资源的配置管理是通过配置类 WebMvcAutoConfiguration
来实现的。
WebMvcAutoConfiguration 的理解
顾名思义,WebMvcAutoConfiguration 是web开发的相关配置都放在该类中的。那我们看看静态资源是如何配置的呢?
addResourceHandlers 方法中对静态资源路径做了说明
public void addResourceHandlers(ResourceHandlerRegistry registry) { if (!this.resourceProperties.isAddMappings()) { logger.debug("Default resource handling disabled"); return; } Duration cachePeriod = this.resourceProperties.getCache().getPeriod(); CacheControl cacheControl = this.resourceProperties.getCache() .getCachecontrol().toHttpCacheControl(); if (!registry.hasMappingForPattern("/webjars/**")) { customizeResourceHandlerRegistration(registry .addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/") .setCachePeriod(getSeconds(cachePeriod)) .setCacheControl(cacheControl)); } //staticPathPattern的值是 /** String staticPathPattern = this.mvcProperties.getStaticPathPattern(); if (!registry.hasMappingForPattern(staticPathPattern)) { customizeResourceHandlerRegistration( registry.addResourceHandler(staticPathPattern) .addResourceLocations(getResourceLocations( this.resourceProperties.getStaticLocations())) .setCachePeriod(getSeconds(cachePeriod)) .setCacheControl(cacheControl)); } }
从上面的代码中可以解读出两点关键信息:
-
所有的
"/webjars/**
都去classpath:/META-INF/resources/webjars/
路径下找静态资源- 什么是webjars :以jar包的形式引入静态资源文件
- webjars官方网站
- 比如我们现在要使用 jquery 框架,在webjars官网找到他的依赖放到你的项目当中即可
<dependency> <groupId>org.webjars.bower</groupId> <artifactId>jquery</artifactId> <version>3.3.1</version> </dependency>
-
如果路径是
/**
时,就去以下classpath:/META-INF/resources/ classpath:/resources/ classpath:/static/ classpath:/public/
类路径查找资源文件,idea 中的项目路径如下图所示:
3.欢迎页面的映射
private Resource getIndexHtml(String location) { return this.resourceLoader.getResource(location + "index.html"); }
意思是只要在我们的静态资源文件夹中放有 index.html文件,就能自动访问到,比如: http://localhost :8080
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- nodejs处理静态资源
- 利用 MinIO 轻松搭建静态资源服务
- 静态资源增量更新的新实践
- 如何快速搭建静态资源服务器
- thinkphp5 加载静态资源路径与常量
- Django 管理静态资源的四个阶段
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
人月神话(40周年中文纪念版)
(美) 布鲁克斯(Brooks, F. P.) 著 / UML China翻译组,汪颖 译 / 清华大学出版社 / 2015-4-1 / 68.00元
在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球......一起来看看 《人月神话(40周年中文纪念版)》 这本书的介绍吧!