静态资源映射
默认情况下,当我们想要在前台页面使用服务器端的静态文件(如css,js,js库,图片等)时,我们只要将这些文件放在以下目录中的任意一个:
- /META-INF/resources/
- /resources/
- /static/
- /public/

如果这四个目录中有相同的静态资源文件,静态资源的默认访问优先级为:/META-INF/resources/>/resources/>/static/>/public/
修改静态资源映射的方法
- 修改这两个属性来改变静态资源的映射,比如我们的所有静态资源都在myres目录中,并且我们希望访问静态资源的的url都带有/myres/这个目录前缀:

- 继承WebMvcConfigurerAdapter类,并且重写addResourceHandlers方法就行,该操作与上面的方法得到的效果是一样的
@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurationSupport {
/**
* 注册静态资源访问路径url以及静态资源存放位置,优先级按添加顺序
*
* @param registry
*/
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/myres/**").addResourceLocations("classpath:/myres/").addResourceLocations("classpath:/static/").addResourceLocations("file:H:/myimgs/");
super.addResourceHandlers(registry);
}
}
Webjar
因为所有/webjars/**都去classpath:/META-INF/resources/webjars/找资源,而默认情况下classpath:/META-INF/resources/webjars/是优先级最高的,所以在使用时要注意的是spring.mvc.static-path-pattern= xxx的设置,比如设置为:
spring.mvc.static-path-pattern=/static/**
则在使用webjar时要在前面加上/static/前缀:
<script src="/static/webjars/jquery/3.2.1/jquery.min.js"></script>
本文详细介绍了在SpringBoot中如何配置静态资源映射,包括css、js、图片等文件的访问路径设置,以及如何通过修改配置实现自定义的静态资源访问规则。
634

被折叠的 条评论
为什么被折叠?



