问题
访问项目根路径,成功登录的后,再新开一个标签页访问项目根路径,新标签页出现无限循环重定向刷新现象
分析
访问项目根路径时,服务器会响应web.xml中welcom-file节点配置的文件
另外看看shiro的配置,发现访问"/“是需要用户状态为"已认证"的
当shiroFilter拦截某个请求,发现当前用户状态不是"已认证”,就重定向到shiro配置的loginUrl
如下是shiro配置的loginUrl对应的控制器
登录页面代码(系统对接了oss,所以只需重定向到oss的登录页面访问路径):
解决
web.xml配置的welcome-file配置改为/WEB-INF/view/welcome.jsp
controller层对应的方法没有传值到页面:
总结
1.web.xml的welcome-file配置的页面中如果写了el表达式,且表达式中域值是从controller层带过来的,需要考虑访问根路径时该域值为空的场景!
2.如果shiro拦截规则是访问项目根路径需要登录认证,则访问项目根路径时不会直接响应welcome-file配置的页面,而是会先被shiro登录拦截再重定向到shiro配置的loginUrl.