gpt4 book ai didi

java - session 丢失并在每个 servlet 请求中创建为新的

转载 作者:IT老高 更新时间:2023-10-28 20:52:54 25 4
gpt4 key购买 nike

我有这个大问题。每次我向服务器发出新请求时,我的当前 session 都会消失。

我已经检查了很多地方。我找不到问题所在。我也包括了Tomcat 和应用程序中 web.xml 中的 session-config。我还允许我的浏览器接受 cookie。在每个浏览器中测试。它不工作。

我只是在使用 JSP/Servlet 开发一个简单的 java ee 应用程序。我只有在服务器机器上部署到 tomcat 后才会遇到问题。

最佳答案

造成这种情况的一个可能原因是具有“裸”主机名(即没有域部分的主机名)。如果您在 Intranet 中工作,这很常见。

问题是几乎所有浏览器的 cookie 都不会接受没有域名的主机名的 cookie。这样做是为了防止 evilsite.comcom 设置 Cookie(这很糟糕,因为它会成为最终的跟踪 cookie)。

因此,如果您通过 http://examplehost/ 访问您的应用程序,它不会接受任何 cookie,而对于 http://examplehost.localdomain/ 它会接受(并返回)cookie就好了。

令人讨厌的是,服务器无法区分“浏览器获取 cookie 并忽略它”和“浏览器从未获取 cookie”。因此,每次访问对服务器来说都像是一个全新的 session 。

关于java - session 丢失并在每个 servlet 请求中创建为新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2138245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com