什么是webjars:
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!this.resourceProperties.isAddMappings()) {
logger.debug("Default resource handling disabled");
} else {
this.addResourceHandler(registry, "/webjars/**", "classpath:/META-INF/resources/webjars/");
this.addResourceHandler(registry, this.mvcProperties.getStaticPathPattern(), (registration) -> {
registration.addResourceLocations(this.resourceProperties.getStaticLocations());
if (this.servletContext != null) {
ServletContextResource resource = new ServletContextResource(this.servletContext, "/");
registration.addResourceLocations(new Resource[]{resource});
}
});
}
}
通过webjars添加jquery
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>jquery</artifactId>
<version>3.6.3</version>
</dependency>
访问静态资源
默认静态资源配置:
我们可以通过这几个目录访问静态资源:
"classpath:/META-INF/resources/"
"classpath:/resources/"
"classpath:/static/"
"classpath:/public/"
localhost:8080/webjars/ ,这个需要导入webjars
访问优先级:resources>static(默认)>public
自定义静态资源目录:
在application.yaml文件里面增加配置:
spring:
mvc:
static-path-pattern: /static/**,/public/**,/resources/**,/META-INF/resources/**,/webjars/**/,/favicon.ico
目录用逗号隔开,一旦启用这个配置,默认的静态配置全部失效
首页
默认首页从下面找index.html
"classpath:/templates/"
"classpath:/static/"
不能直接放到resources,public(这个应该可以的,但我测试的不行,springboot版本2.6.11)目录下面
配置favorite.ico
使用yaml配合
spring:
mvc:
favicon:
enabled: false
然后再public目录下放一个favorite.ico图标