1、实现实现WebMvcConfig配置类可以解决页面不能加载css,js的问题;
扩展SpringMvc,编写一个配置类(@Configuration),是WebMvcConfigurationAdapter抽象类类型(WebMvcConfigurer 接口类型的),且不能标注@EnableWebMvc 如果SpringBoot本身的自动配置不能满足自己的需求,就需要扩展SpringMVC配置文件。WebMvcConfigurer可以扩展SpringMvc的功能。
1 package com.bie.config;
2
3 import org.springframework.context.annotation.Configuration;
4 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
5 import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
6 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
7
8 /**
9 *
10 */
11 @Configuration
12 public class SpringMvcWebConfigSupport implements WebMvcConfigurer {
13
14 /**
15 * 默认访问的是首页 //保留了SpringBoot的自动配置,也使用了自己的SpringMmv的配置
16 * @param registry
17 */
18 @Override
19 public void addViewControllers(ViewControllerRegistry registry) {
20 registry.addViewController("/").setViewName("index");//前拼templates,后拼.html
21 registry.addViewController("/index.html").setViewName("index");//浏览器发送/请求来到login.html页面,不用写controller控制层的请求方法了
22 }
23
24 /**
25 * 将static下面的js,css文件加载出来
26 * @param registry
27 */
28 @Override
29 public void addResourceHandlers(ResourceHandlerRegistry registry) {
30 //registry.addResourceHandler("/static/").addResourceLocations("classpath:/static/");
31 registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
32 }
33 }
因为在SpringBoot的2.x新版本中WebMvcConfigurerAdapter (使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能)配置类已经不推荐使用了,可以使用WebMvcConfigurer 或者WebMvcConfigurationSupport来配置自己的配置信息。
1 //package com.bie.config;
2 //
3 //import org.springframework.context.annotation.Configuration;
4 //import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
5 //import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
6 //
7 ///**
8 // * WebMvcConfigurerAdapter类已经不推荐使用了
9 // */
10 //@Configuration
11 //public class SpringMvcWebConfig extends WebMvcConfigurerAdapter {
12 //
13 //// @Override
14 //// public void addViewControllers(ViewControllerRegistry registry) {
15 //// //浏览器发送请求到到指定的页面
16 //// registry.addViewController("/").setViewName("index");
17 //// }
18 //
19 // public WebMvcConfigurerAdapter webMvcConfigurerAdapter(){
20 // WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter(){
21 // @Override
22 // public void addViewControllers(ViewControllerRegistry registry) {
23 // registry.addViewController("/").setViewName("index");
24 // }
25 // };
26 // return adapter;
27 // }
28 //}
待续......