SpringBoot 如何配置静态资源的地址与访问路径

Spring Boot官方文档说明

默认情况下,Spring Boot将从类路径中的/static( /public/resources/META-INF/resources目录或者根目录中提供静态内容(四个静态资源目录ServletContext。它使用ResourceHttpRequestHandlerSpring MVC,因此您可以通过添加自己WebMvcConfigurerAdapteraddResourceHandlers方法来修改该行为并覆盖该 方法。

在独立的Web应用程序中,容器中的默认servlet也会启用,并作为后备,从ServletContextif 的根目录提供内容,决定不处理它。大多数情况下这不会发生(除非你修改默认的MVC配置),因为Spring总是能够通过它来处理请求DispatcherServlet


配置spring.mvc.static-path-pattern

默认情况下,会映射资源/** 但您可以通过spring.mvc.static-path-pattern调整该资源。

也就是说,他的作用就是Spring Boot应该以什么样的路径来访问静态资源,只有静态资源满足什么样的条件,Spring Boot才会处理静态资源请求。

例如,重新定位所有资源/resources/** 可以实现如下:

#这表示只有静态资源的访问路径为/resources/**时,才会处理请求
spring.mvc.static-path-pattern=/resources/**

配置spring.resources.static-locations

您还可以使用spring.resources.static-locations(使用目录位置列表替换默认值)自定义静态资源位置 。如果执行此操作,默认的欢迎页面检测将切换到您的自定义位置。因此,如果index.html您的任何位置在启动时存在,它将成为应用程序的主页。

也就是说,他的作用就是告诉Spring Boot应该在何处查找静态资源文件,这是一个列表性的配置,查找文件时会依赖于配置的先后顺序依次进行,(四个静态资源目录)默认的官方配置如下:

spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources

Springboot访问上传的文件就用到 配置spring.resources.static-locations

static和templates的区别

SpringBoot项目resources下默认有两个文件夹static和template.

一般static存放静态资源,template存放动态资源。

main/resources/templates   模板界面

main/resources/static    静态文件

resources     配置文件

参考:

https://blog.csdn.net/weixin_37891479/article/details/82117175

https://blog.csdn.net/u012882134/article/details/77230900

你可能感兴趣的:(【SpringBoot】)