从这本书Head First Servlets and JSP, Second Edition P257

作者说:


  但是每个给定的会话ID只有一个HttpSession对象
  网络应用程序,而不管应用程序分布在多少虚拟机上。


但是来自tomcat文档:Clustering/Session Replication HOW-TO
它确实说可以在多个虚拟机中复制会话:


  集群已启动,并将建立成员资格
  (TomcatA,TomcatB)。 TomcatB现在将向
  集群中已经存在的服务器,在本例中为TomcatA。
  TomcatA响应请求,并且在TomcatB开始监听之前
  对于HTTP请求,状态已从TomcatA转移到
  TomcatB。


我不知道该怎么理解。

最佳答案

仅复制了HttpSession的状态(基本上是其所有可序列化的内容),以便在群集中的服务器之间保持同步,而不是对象实例本身。每个客户端服务器会话中,每个单独的服务器仍将只有一个与会话ID关联的HttpSession对象实例。

10-07 21:02