对于HTTPSessions,我看到Chrome和websockets的行为很奇怪。
似乎在Chrome中每个标签都有自己的HTTPSession(与Firefox不同,它们共享相同的HTTPSession)。但是,当从网页内的Chrome中的JavaScript连接到WebSocket时,使用的HTTPSession似乎是随机的,或者至少不是当前页面中的那个。
我在服务器(tomcat)上看到的行为是,有时HTTPSession为空(或者服务器对此没有任何了解的旧会话),或者来自另一个选项卡的HTTPSession。
这似乎是Chrome中的某种错误,Firefox从来没有任何问题,并始终从页面中提供HTTPSession。
这与从Tomcat中的WebSocket获取HTTPSession的这篇文章有关。
任何人都可以确认这一点,或者知道从WebSocket获取HTTPSession的任何变通办法吗?
Accessing HttpSession from HttpServletRequest in a Web Socket @ServerEndpoint