springboot升级2.0,导致全部js、css无法加载

首页效果:
在这里插入图片描述
于是在代码里面寻找原因,难道是静态资源目录写的有问题?
在这里插入图片描述
Spring Boot的默认配置方式,提供的静态资源映射如下:

  1. classpath:/META-INF/resources
  2. classpath:/resources
  3. classpath:/static
  4. classpath:/public

根据以上静态资源配置比对项目也没有任何问题,那问题出在哪里?百思不得其解,但是还得继续寻找问题的根源。

既然静态资源配置没有问题,难道是被拦截器拦截了?打开WebMvcConfig文件,如图:
在这里插入图片描述
由于WebMvcConfigurerAdapter过期,开始使用WebMvcConfigurationSupport,别的代码完全一样。于是有个想法先将代码修改为如下:
在这里插入图片描述
此时奇迹发生了,页面正常显示:

在这里插入图片描述
那么问题来了:继承WebMvcConfigurationSupport如何解决js、css无法加载呢?

又是一番寻找,终于发现了线索:
是因为springboot 2.0配置WebMvcConfigurationSupport之后,会导致默认配置被覆盖,要访问静态资源需要重写addResourceHandlers方法,于是只需要添加如下代码就可完美解决.

@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		registry.addResourceHandler("/**").addResourceLocations("classpath:/resources/")
				.addResourceLocations("classpath:/static/").addResourceLocations("classpath:/public/");
		super.addResourceHandlers(registry);
	}
发布了22 篇原创文章 · 获赞 13 · 访问量 5791

猜你喜欢

转载自blog.csdn.net/weixin_43839457/article/details/89944311
今日推荐