详述
笔者曾经在这个错误上纠结了大概有3天,怎么也找不到有此种现象名字直接对应下的解决方案。起初第一天笔者对着浏览器狂刷新,开发人员工具老是提示登录页面有语法错误: 一般都提示“不料想中的‘<’”。恼火了一整天。第二天笔者试着撤回shiro配置,终于在注释掉url访问过滤器的配置上成功恢复页面css功能成功。于是这提示了笔者要注意静态资源请求的放行。第三天,笔者想通了为何F12控制台回报语法错误,事实上是,由于静态资源的请求没有放行,所以shiro强行返回在配置中的loginUrl对应的响应结果给页面<link>,使得css的请求文件得回来的竟然是一个html等类的文件,结果就是css不容许出现尖号等等字符出现。F12没有犯傻,只是在source视图以及console视图提示的错误所在行所在的文件都叫(你的登录页名字,例如)login,会让你莫名奇妙恼火。其实细致地分析,在network视图可以看到首先请求的css文件名被302重定向了,后来有出现了同等css请求数量的叫做(登录页)的响应返回,这就是shiro没有放行静态资源请求后果的端倪。
略解
请在shiroFilter配置的url拦截链中增设对静态资源的匿名访问