Java 如何在JSP中处理多个客户机?
我正在用JSP和servlet实现一个游戏。游戏应该支持多个玩家。Java 如何在JSP中处理多个客户机?,java,javascript,jsp,Java,Javascript,Jsp,我正在用JSP和servlet实现一个游戏。游戏应该支持多个玩家。 很明显,每个玩家ID都是在服务器端生成的。但是,我应该将其存储在客户端的何处,以便稍后在客户端调用servlet时(从servlet中)检索它?会话ID通常存储在cookie中 如果JSP没有一个会话库来为您处理所有这些,我会感到惊讶。会话由servlet框架自动处理,您可以通过调用servlet来检索会话 一旦您开始使用一个框架,一旦您超过了servlet(这种情况很快就会发生),会话将以不同的方式提供,并且依赖于框架。取决于
很明显,每个玩家ID都是在服务器端生成的。但是,我应该将其存储在客户端的何处,以便稍后在客户端调用servlet时(从servlet中)检索它?会话ID通常存储在cookie中
如果JSP没有一个会话库来为您处理所有这些,我会感到惊讶。会话由servlet框架自动处理,您可以通过调用servlet来检索会话
一旦您开始使用一个框架,一旦您超过了servlet(这种情况很快就会发生),会话将以不同的方式提供,并且依赖于框架。取决于您希望客户端记住播放器ID的时间长短
request.getSession()
Cookie:
request.getCookies()
和response.addCookie(Cookie)
我可以保留HashMap并检查哪个播放器正在与我通信吗?我如何正确地测试它?我认为你并不真正理解会话是什么。如果您在会话中放置客户端ID,您已经知道客户端ID,因为它在会话中。同一浏览器上的两个不同选项卡是否会有不同的会话?@MichaelS Nope(它过去依赖于浏览器,现在仍然可能,但我对此表示怀疑)。如果您需要区分选项卡,您必须实现某种形式的“对话”范围,就像Seam一样,并为每个请求保留一个唯一的令牌,包括在链接上。我明白了。非常感谢,我会深入研究的!