为什么spring boot工程静态资源访问不到

为什么spring boot工程访问不到 静态资源

在一个构建项目spring boot工程中,使用了templates模式,但是在工程都构建完成,也能正常请求,正常响应后,很开心得引入静态资源,准备大干一番得时候,发现今天资源怎么也访问不到,都是404,如下图得配置
这里写图片描述

提示信息是

[No mapping found for HTTP request with URI [/index.html] in DispatcherServlet with name 'dispatcherServlet'],

这就郁闷了,找了半天,大家工程都这样构建,没有问题啊,然后各种配置,各种倒腾,回头发现如下描述是很有用得:

    Spring Boot 默认将 /** 所有访问映射到以下目录:
    classpath:/static
    classpath:/public
    classpath:/resources
    classpath:/META-INF/resources

原来springboot中得springmvc模块会默认这些地方进行扫描,如果找到,就会直接响应。
那么现在问题清楚了,肯定是mvc得配置有问题,工程中哪些地方我单独加了springmvc呢,那就只有一图中,添加了@EnableWebMvc,这个标签启用了Spring MVC的注解支持,使得spring boot中的注解默认转化为Spring MVC了,也就是说,要想使用静态资源,得按照springmvc的方式去进行资源配置。
好得,问题知道,就知道怎么解决了,方法很简单,取消掉这个注解,再启动,OK了,静态资源能够正常访问到了,至于springmvc怎么配置,想必大家都知道了,就不在复述了。

学习,记录,分享。

猜你喜欢

转载自blog.csdn.net/leegoowang/article/details/78591086