学习Shiro在SpringMVC中的配置,开始便出现了这个问题,程序运行不下去,或许这也是许多人放弃的原因吧。
排除问题路径:
1.坚持学习下去,先不试验,后来再排查,顺便加深一遍印象,同时,这时才算接受了IDEA,工具的使用还不熟练。
2.使用IDEA搭建一遍SpringMVC的环境,确保SpringMVC配置不出错,同时对于Spring的理解更深一步,对于以前那本书《架构探险》有了新的启发。
3.找Shiro学习资源的别人写好的源码,吸取经验,再次尝试。
4.最终发现只有这一个问题了,One or more Filters failed to start.
俗话说,解决问题的第一步是描述问题,当确定了这个问题后,搜索,根据
https://blog.youkuaiyun.com/xcc_2269861428/article/details/83898590
找到C:\Users\主机名\.IntelliJIdea2018.2\system\tomcat\Unnamed_shiro-test2\logs\localhost.log,即IDEA生成的日志,发现了比IDEA内置tomcat的console更多的信息,最终确定了
The security manager does not implement the WebSecurityManager interface.
就是我写错的SecurityManager类,Shiro在web环境下需要DefaultWebSecurityManager。
网上还发现有人是因为web.xml配置的过滤器名字
<filter-name>shiroFilter</filter-name>
和spring配置的<bean id="shiroFilter">不一致导致相同错误。
总结,细心一点很重要,粗心一点会犯错,但是学到了更多。