我有以下文件夹结构:'resources' > 'static' > 'styles'
;
在'styles'文件夹中有文件style.css
还有这门课程:
@Configuration
@EnableWebMvc
public class ResourcesConfiguration implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/styles/**")
.addResourceLocations("/styles/", "classpath:/static/");
}
}
在index.html
中,在head
部分中有:
<link th:href="@{/styles/style.css}" rel="stylesheet" type="text/css" />
我没有关于静态资源的其他配置(比如在application.properties中)。
当我在浏览器中访问index.html
时,我得到:
请求网址:http://localhost:9000/styles/style.css
请求方法:GET
状态代码:404
答案 0 :(得分:1)
addResourceLocations(String...locations)
将作为var-arg列表在不同的位置。但它确实像相邻条目的前缀或后缀一样工作。
因此,您应该稍微更改下面的配置,以使其正常工作。
registry
.addResourceHandler("/styles/**")
.addResourceLocations("classpath:/static/styles/");