【发布时间】:2026-01-08 05:20:02
【问题描述】:
我正在开发一个 Spring MVC 应用程序,并发现了一个仅在 chrome 上发生的奇怪问题。逻辑是:
- 用户请求项目列表
- 用户点击添加新按钮,弹出引导对话框允许用户输入名称
- 提交时,向服务器发送一个发布请求
- 服务器创建一个新项目并将其保存到数据库
- 服务器将新项目 ID 存储到 cookie 并向浏览器发送重定向响应
- 浏览器请求项目查看页面
- 服务器从 cookie 中获取项目 ID 并呈现页面
上述逻辑在几乎所有浏览器(我没有在 IE 上测试过)上运行良好,除了 chrome。我发现根本原因是 chrome 将使用不同的项目 id 存储以前的 cookie,并且在步骤 6 中,chrome 将重复的项目 id cookie 发送到服务器。
知道如何解决这个问题吗?
Chrome[版本 32.0.1700.41 m Aura]
Opera[版本 20.0.1353.0]
Firefox[版本 29.0a1 (2013-12-10)]
Safari[版本 5.1.7 (7534.57.2)] 没有屏幕截图。但它有效
【问题讨论】:
-
那么,您是否以某种方式解决了这个问题?我遇到了完全相同的问题。
-
没有。我所做的是忽略所有以前的cookie并处理最后一个
-
我明白了,这不是我的选择。但我所做的是将 cookie 名称从 JSESSIONID 更改为 SESSIONID,它神奇地开始工作,我不知道它修复了什么以及在哪里修复。
标签: google-chrome spring-mvc servlets cookies