背景
这几天在用spring boot 框架来实现一个网站,静态页面已经写好,创建完成spring项目后将html文件、css等资源文件分别扔到了/项目名称/src/main/resources/templates、/项目名称/src/main/resources/static路径下。如图
问题描述
我在写好相关地址映射方法后,尝试运行该项目,访问对应路径后发现,页面可以正常加载,但相关资源加载失败。截图如下
问题定位
1,一开始检查了application.properties文件和pom.xml文件,均没发现问题
2,然后我又检查了我的HTML文件中,引用相关css资源时的路径是不是无误,也没发现问题
3,照例说,在执行项目时,默认扫描css等静态资源的路径,就是在/项目名称/src/main/resources/static 路径下啊。为啥访问不到对应的css等资源呢?
我重新运行了一下项目,并将浏览器打开为开发者模式,如图。
发现浏览器在尝试找相关css等资源报404了,查看详情发现是找不到资源,提示“failed to load response data”,如图。
然后我尝试双击该文件,看看是不是路径有误导致找不到该文件。然后发现,确实是这个原因导致的。如图
看到这个路径,就知道为啥我的这个资源加载不出来了。它去了/项目名称/src/main/resources/static/myweb 下找我的css文件去了…
问题解决
定位到问题后,解决就简单多了。
方法一:打开我写地址映射方法的文件demo.java,将罪魁祸首 – 多余的@RequestMapping 注解删了
方法二:如果想保留刚刚的@RequestMapping 注解,那也可以。在static路径下新建一个文件夹,文件夹的名字和上面说的多余的@RequestMapping 注解里面的名字一样;然后将所有static路径下的文件,丢到该文件夹里面就可以了。效果截图如下:
效果
方法一效果:
方法二效果:
问题解决~