今天在升级项目jar包时,由于提示
Caused by: java.lang.IllegalStateException: No ServletContext set 错误。
就把
WebMvcConfigurer 类加上了注解EnableWebMvc,如下图,项目不在报错
但是项目启动后,访问网页如下图
所有的静态资源都不见了,CSS样式,背景图片等
后面找了很久才找到原因:
@EnableWebMvc后,自动配置的静态资源路径(/static/** ;classpath:/static/)资源无法访问。@EnableWebMvc就相当于导入了WebMvcConfigurationSupport类,这个时候,Spring Boot的自动装配就不会发生了,我们能用的,只有WebMvcConfigurationSupport提供的若干个配置。
详见:
https://blog.csdn.net/zxc123e/article/details/84636521
解决办法:
由于本项目需要配置MVC(拦截器、格式化、视图等),所以不能使用EnableWebMvc注解,
通过将springMVC配置类 实现WebMvcConfigurer接口
@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {}
重启后,页面静态资源能正常获取