我想创建一个生成随机数的servlet,并要求用户猜测它。如果数字大于或小,则输出,并显示用户失败的次数。
我做的是,
我使用表格输入了一个号码。
我在init函数中生成一个随机数,并在那里启动计数为零。并且在doGet方法中我比较了两个数字,然后我又回写了一个html页面,询问有失败计数的数字。
它适用于一个客户端。但是当多个客户端访问同一个servlet时,每个客户端都会获得相同的随机数。
我读到servlet只被实例化一次。有没有一种方法可以让许多客户端访问servlet,并且每个客户端都可以获得不同的随机数。它甚至可能吗?是这样,怎么样?
答案 0 :(得分:0)
您需要以某种方式将客户端的会话与随机数相关联。您可以访问由Web应用程序容器生成的jsessionid。用随机数映射它。
答案 1 :(得分:0)
您的最简单方法是使用会话参数。将为每个用户创建会话,因此您可以为每个会话(用户)创建一个参数。
如果新会话尚不存在,则创建新会话:
HttpSession session = request.getSession(true);
session.setAttribute("randomValue","YOUR VALUE HERE");
通过此代码,您可以在下一个请求中从会话上下文中读取参数:
request.getSession(false).getAttribute("randomValue");
你可以用同样的方式“保存”。