雅加达迁移后,GAE 应用程序会抛出“请求失败:意外错误:java.io.IOException:写入 54 > 0 内容长度”,直到我清除 cookie

问题描述 投票:0回答:1

我已将我的谷歌应用程序引擎应用程序从 java ee 8 迁移到 jakarta 10。我曾经使用

<sessions-enabled>true<sessions-enabled>
标签管理会话。但自从我将应用程序迁移到 jakarta 10 并开始使用 java 21 运行时后,应用程序引擎 api 就不起作用了。其中在幕后我需要应用程序引擎 API 才能使用
<sessions-enabled>
。因此,不要使用标准方式存储我的会话属性

session.setAttribute(USERNAME, username);

我开始使用 http cookies 来存储我的属性。这是我在会话管理方面所做的唯一更改。因此,如果我第一次部署。我可以登录,即使在注销后我的应用程序也可以正常运行。但是,如果我部署新的更改,我的应用程序将无法启动,直到我清除浏览器缓存。我有什么办法可以解决这个问题吗?这是我收到的错误

Request failed: Unexpected Error: java.io.IOException: written 54 > 0 content-length
google-app-engine session-cookies jakarta-migration
1个回答
0
投票

我发现使用

response.sendRedirect("/")
来重定向用户(无论会话验证是否成功)都会导致错误。所以我切换到
request.getRequestDispatcher("").forward(request, response)
,它在服务器内部转发请求。

© www.soinside.com 2019 - 2024. All rights reserved.