SpringMVC是我们常用用的框架,它提供两种静态资源文件放行的方式
对静态资源放行
- 自己设置路径:
<mvc:resources location="/fonts/" mapping="/fonts/**"/>
<mvc:resources location="/js/" mapping="/js/**"/>
- 全部放行
<mvc:default-servlet-handler />
这些操作知悉SpringMVC的都会,但是配置好后为什么还会静态资源文件无法加载?
这里就要从路径位置和路径名称来说了:
路径位置:
我们才用的是第一种方式写的放行
<mvc:resources location="/js/" mapping="/js/**"/>
那么我们的js文件夹就需要放在webapp下面,放在其他目录下无效(注意:不要放在WEB-INF目录下)
路径名称
在使用第一种方式路径位置正确的情况下或者第二种方式依旧没有加载到静态资源文件
请注意:路径名称规范
SpringMVC对静态资源文件的处理有它自己的方式,根据我的测试SpringMVC对部分命名文件夹中的部分内容是读取不到的。
这或许是SpringMVC没有做好的地方
实例分析:
这里,我创建了多个静态资源文件夹,里面的静态资源都一样
经过测试login文件夹下部分资源文件读取不到,浏览器报错
SpringMVC静态文件无法加载问题解决办法如下:
- 在springmvc.xml配置对资源文件放行
- 资源文件位置放在webapp文件夹下
- 资源文件的文件夹起名规范如:css、js等,不要无关单词命名