记一次response的set-cookie的sessionId与cookie存储的sessionId不一致导致登录不起的问题

最近在修改老项目时,出现一个玄学的问题,困扰了很久,在ie,Firefox中都正常可以登录,但是在chrome中使用登录不起,在后台filter中断点定位发现,cookie进来的session获取不到存储的用户信息,导致登录失效,不断要求登录;
查阅各种 set-cookie与cookie值不一致问题,按文章解决依旧不能解决问题;
最后决定静下心来在getSession()方法处断点,跟踪每次请求的sessionID值和浏览器中的cookie比对,最终发现是页面上引用的一个图标(favicon.ico)引起;该图标位于项目根路径下,且在页面中引入了两次,而该图标的请求未携带cookie,导致后台认为是新请求,创建新session,并更新了浏览器中的sessionId值,导致请求存入正常请求session中的用户信息,在后续请求中获取不到;

同时搜索 “favicon.ico session失效” 发现 此问题也坑了很多人,仅此记录,希望可以帮到搜索 sessionId值变化等问题的同学;

你可能感兴趣的:(异常排查,java,session,chrome,cookie)