目 录CONTENT

文章目录

静态资源的放行

chenming
2021-01-10 / 0 评论 / 0 点赞 / 367 阅读 / 0 字 / 正在检测是否收录...

SpringMVC静态资源的放行

激活Tomcat的defaultServlet来处理静态文件

由于使用了SpringMVC,所以任何资源都会先经过Tomcat的拦截,再到Spring的拦截。这里可以用Tomcat先对静态资源进行放行,这样就不会到Spring的拦截了。注意要写在DispatcherServlet的前面, 让defaultServlet先拦截。
image

Spring配置mvc:resources

比如<mvc:resources mapping="/images/**" location="/images/" /> ,直接放行映射路径下的所有资源。

Spring配置mvc:default-servlet-handler/

mvc:default-servlet-handler/会把 "/**" url,注册到 SimpleUrlHandlerMapping 的 urlMap 中,把对静态资源的访问由 HandlerMapping 转到org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 处理并返回.DefaultServletHttpRequestHandler 使用就是各个 Servlet 容器自己的默认 Servlet.

SpringBoot静态资源的放行

spring.mvc.static-path-pattern

spring.mvc.static-path-pattern代表的含义是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求,以官方配置为例:


spring.mvc.static-path-pattern=/resources/**,

spring.resources.static-locations

spring.resources.static-locations用于告诉Spring Boot应该在何处查找静态资源文件,这是一个列表性的配置,查找文件时会依赖于配置的先后顺序依次进行,默认的官方配置如下:


spring.resources.static-locations=

classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources

自定义静态资源配置

SpringBoot推荐用配置Bean进行配置,配置类只需要继承WebMvcConfigurerAdapter,重写addResourceHandlers方法就可以进行静态资源路径的映射。
image

0

评论区