我在Tomcat7中使用负载均衡器,现在我们的HttpSession
对象总是返回一个新会话。我的猜测是,将浏览器绑定到服务器的信息没有发送到服务器。
会话是否由Cookie客户端中设置的令牌映射?如果是这样,此请求是否随每个请求一起发送到HTTP标头中?如果是这样,它是什么样的?
最佳答案
每次您连接到服务器时,最初都会生成一个jsessionid并将其保存到客户端的cookie中。该jsessionid标识了您在服务器上的会话。因此,HttpSession对象是在服务器端生成的,它包含特定会话的所有详细信息,直到过期为止。是的,每次您向服务器发送请求时,都会发送jsessionid。阻止这种情况的唯一方法是,如果浏览器不允许保存cookie。在这种情况下,还有其他机制仍可以确保保留jsessionid。无论如何,这就是我对流程的理解。希望这可以帮助。
关于java - HttpSession对象如何绑定(bind)到浏览器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22817012/