我项目中的文件如下,使用的是Spring Boot 2.2.6 ,也就是2.X版本
Html文件
资源目录
pom.xml
Controller层
访问Html的时候,发现静态资源没有访问到,在html文件中,静态资源路径写的是没问题的,在SpringBoot1.X的時候也是沒問題的,但是为什么访问不到?究其原因是使用的SpringBoot2.X少了一个配置:主要是那个addResourceHandlers方法,有了它就可以进行静态资源访问了,具体是因为什么?这要看源代码背后的原理,这个后来要探索下。
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.*;
@Configuration
@EnableWebMvc
class MvcConfig implements WebMvcConfigurer {
/**
* 视图跳转控制器
* 无业务逻辑的跳转 均可以以这种方法写在这里
* @param registry
*/
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("test");
registry.addViewController("/home").setViewName("test");
registry.addViewController("/login").setViewName("login");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//告知系统static 当成 静态资源访问
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}