spring boot关于静态资源的一些问题

每次新建一个项目都会为访问不到静态资源烦恼,以下记录访问静态资源的一些问题

使用spring boot项目是一般会使用thymeleaf模板来获取数据,所以必须要导入thymeleaf的坐标

<!-- 导入thymeleaf坐标 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

spring boot默认访问的是static下面的视图信息,所以可以在application.properties的配置文件配置thymeleaf的视图映射:

#thymeleaf模板配置
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**

注意classpath:后面的值,无需加**

此时配置的是thymeleaf映射的视图配置:

@GetMapping("login")
public ModelAndView login(){
    ModelAndView mv = new ModelAndView();
    mv.setViewName("index");
    return mv;
}

这样的方式可以正确映射templates文件下的视图,而不可以使用http://localhost/xx/index.html这样的方式直接访问。

问题:在我们的index.html文件中会引入很多静态资源文件,此时是加载不到的,造成苦恼

解决方案:把img\js\css放入你的static目录下,我是这么处理的。

另外一种访问静态资源的方式:

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

猜你喜欢

转载自blog.csdn.net/qq_28524127/article/details/83380757