1.场景
当我们只是开发一个简单的管理后台,不需要用到前后端分离的时候,那么资源映射的配置就是必不可少的
本文用的是spring boot +shiro+maven
1.项目结构
通常情况下,由于安全性的考虑,java分为一个包,资源文件分为一个包,html和js和css分为一个包,所以我新建了一个webapp的包,用于存放html,js,css,本文中pages用于存放html文件,assets用于存放静态资源文件
2.静态资源映射
首先我们要放开shiro的拦截,静态资源是没有必要拦截的
其次编写已被java配置类实现WebMvcConfigurer,写入自己的映射规则
2.静态资源和页面404的排查
maven导致
因为使用的webapp,maven项目是没有webapp这个包,我们需要自己新建,那么在编译的时候,最好是用maven指定一下位置,不然可能存在没加载webapp,还有就是用maven指定位置的时候,在指定位置的时候不要配置拦截,不然有一些.wttf的文件,经过maven编译会导致浏览器解析不了该二进制文件
如果当浏览器出现如下错误,有一些特定的图标,字体标签加载不到,就说明静态资源被maven编译后,浏览器解析不了编译后的二进制文件
页面404
通过application.yml配置页面的前缀和后缀,因为springboot是默认会扫描webapp,所以我们只需要配置其子包就好了,如果你用了页面模板那么您需要通过模板官方给出的方案配置
静态资源404
参考文章最上面讲解的,是否放开了拦截,其次就是否配置了静态资源的映射