Spring Boot配置静态资源的地址与访问路径(spring.mvc.static |
您所在的位置:网站首页 › springboot配置访问url › Spring Boot配置静态资源的地址与访问路径(spring.mvc.static |
Spring Boot配置静态资源的地址与访问路径)
一、原理解释1.1静态资源的地址:“spring.mvc.static-path-pattern”1.2. 访问路径:“spring.web.resources.static-locations”1.3. 静态资源的Bean配置2.结论二.示例配置静态资源的地址与访问路径配置2.1.SpringBoot静态资源处理2.2修改默认访问路径
一、原理解释
静态资源过滤是说不做请求处理,直接能够打开访问! 静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户通过浏览器直接读取。 1.1静态资源的地址:“spring.mvc.static-path-pattern”spring.mvc.static-path-pattern代表的含义是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求,以官方配置为例: # 这表示只有静态资源的访问路径为/resources/**时,才会处理请求 spring.mvc.static-path-pattern=/resources/**,假定采用默认的配置端口,那么只有请求地址类似于“http://localhost:8080/resources/jquery.js”时,Spring Boot才会处理此请求,处理方式是将根据模式匹配后的文件名查找本地文件,那么应该在什么地方查找本地文件呢?这就是“spring.resources.static-locations”的作用了。 1.2. 访问路径:“spring.web.resources.static-locations”“spring.resources.static-locations”用于告诉Spring Boot应该在何处查找静态资源文件,这是一个列表性的配置,查找文件时会依赖于配置的先后顺序依次进行,默认的官方配置如下: spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources 继续以上面的请求地址为例,“http://localhost:8080/resources/jquery.js”就会在上述的四个路径中依次查找是否存在“jquery.js”文件,如果找到了,则返回此文件,否则返回404错误。 1.3. 静态资源的Bean配置从上面可以看出,“spring.mvc.static-path-pattern”与“spring.resources.static-locations”组合起来演绎了nginx的映射配置,如果熟悉Spring MVC,那么理解起来更加简单,它们的作用可以用Bean配置表示,如下: @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/resources/**") .addResourceLocations("/public-resources/") .setCacheControl(CacheControl.maxAge(1, TimeUnit.HOURS).cachePublic()); } }或者等同与以下的XML。 2.结论我们既可以直接通过application.properties的配置文件进行配置,也可以通过自己写静态资源的Bean配置文件。 “spring.mvc.static-path-pattern”用于阐述HTTP请求地址,而“spring.resources.static-locations”则用于描述静态资源的存放位置。 二.示例配置静态资源的地址与访问路径配置 2.1.SpringBoot静态资源处理默认情况下Spring Boot 使用WebMvcAutoConfiguration中配置的各种属性。 默认映射的文件夹有: classpath:/META-INF/resources classpath:/resources classpath:/static classpath:/public上面这几个都是静态资源的映射路径,优先级顺序为:META-INF/resources > resources > static > public 2.2修改默认访问路径修改spring.mvc.static-path-pattern来修改默认的映射**,配置如下: # web.upload-url=http://48.56.366.75:8100/api/ web.vue-path=D:/Project/myweb/admin/ spring.mvc.static-path-pattern=\/** spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.vue-path}spring.mvc.static-path-pattern=/**是这个,代码块是为了转义,否则影响下一行,不知道为啥还显示~~~ 程序的jar包放在了 D:/Project/myweb/ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |