今天鼓捣项目时出现了一个问题
项目重启后,第一次请求经过过滤器时 session取不到值,导致被拦截
经过半天的研究,终于...我请教了别人
把代码给了朋友,在朋友一段时间的琢磨下,终于...都没弄出来,因为他一次登陆就成功了,无法复现问题
我当时百思不得其解,难不成我服务器还能有问题?
最后我关掉了浏览器,启动项目,打开浏览器,访问项目,登陆,一次成功!!!
我直接好家伙,难不成这个还有玄学?
对比两次访问场景
1、页面访问后不关闭,重启服务,第一次登陆被拦截
2、先启动服务,打开浏览器访问登录页,直接登录成功
接着排查发现,页面不关闭的情况下,重启服务
因为页面未刷新,JSESSIONID(会话ID)仍然是上一次的值
访问服务后再查看 JSESSIONID(会话ID)已经发生了变化
因为重启了项目,历史会话全部失效,而用 失效的会话信息访问重启后的服务肯定无法成功