其他人已经涵盖了#1。
我只会对#2 提出建议。另一种选择是快速了解 AJAX(异步 Javascript 和 XML)。您可以触发“幕后”HTTP 请求并调整页面,而无需用户刷新页面。客户端可以加载 HTML 页面,该页面可以包含每隔几秒钟与服务器检查一次更新并刷新其板的 javascript。
这是一个小例子。此外,如果您不想担心特定于浏览器的 javascript,您可以使用 jQuery。它具有非常用户友好的 api,用于触发 ajax 请求,并处理特定于浏览器的内容。
编辑
好的,对于#1 - 您的 servlet 将用于服务所有请求,可能是并行的。你不能将你的游戏板直接放在 servlet b/c 中,那么你可能有 20 个人试图编辑同一个游戏。
public class GameServlet extends HttpServlet {
private GameBoard board; // everyone would share the same board!
您有几个选择,您可以将板存储在用户访问的某个集合中。您可能还想看看 HttpSession。HttpSession 是服务器端内存的一部分,servlet 将为您跟踪它,您可以跨请求访问它。
public void doGet(HttpServletRequest req, HttpServletResponse resp) {
HttpSession session = req.getSession();
session.setAttribute("board", new GameBoard()); // this way each user will have their own game board
// and you can retrieve it in another HTTP request
GameBoard board = session.getAttribute("board");
}
使用 HttpSession 对您来说可能有点棘手,因为板更新实际上必须更新两个用户的板。您可能只喜欢 servlet 上由用户索引的集合成员。希望这足以让你开始。