第一次使用shiro框架,启动成功日志与控制台更是无bug,但页面老是404,type=not found
遇到这种情况第一反应就是Google和百度,查了几天,发现会出现400的情况,但只需要在shiroConfig中添加配置项即可解决
/**
* setUsePrefix(true)用于解决一个奇怪的bug。在引入spring aop的情况下。
* 在@Controller注解的类的方法中加入@RequiresRole等shiro注解,会导致该方法无法映射请求,导致返回404。
* 加入这项配置能解决这个bug
*/
@Bean
public DefaultAdvisorAutoProxyCreator getDefaultAdvisorAutoProxyCreator() {
DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator();
defaultAdvisorAutoProxyCreator.setUsePrefix(true);
return defaultAdvisorAutoProxyCreator;
}
但事情没这么简单,我运行项目,运行成功,但打开8080还是404
开始怀疑controller和session是否有问题,各种都没问题,最后才发现是.properties文件中配置错了!!!!!
spring.thymeleaf.cache=true
spring.thymeleaf.enabled=false
我居然cache配置为false,枉我查了几天哪里问题,原来从一开始就把自己锁死
!!!所以要注意配置项是否有问题,配置文件往往并不会报错,只能靠自己去筛查