多个客户端访问servlet

时间:2014-01-27 20:18:26

标签: java servlets

我想创建一个生成随机数的servlet,并要求用户猜测它。如果数字大于或小,则输出,并显示用户失败的次数。

我做的是,

我使用表格输入了一个号码。

我在init函数中生成一个随机数,并在那里启动计数为零。并且在doGet方法中我比较了两个数字,然后我又回写了一个html页面,询问有失败计数的数字。

它适用于一个客户端。但是当多个客户端访问同一个servlet时,每个客户端都会获得相同的随机数。

我读到servlet只被实例化一次。有没有一种方法可以让许多客户端访问servlet,并且每个客户端都可以获得不同的随机数。它甚至可能吗?是这样,怎么样?

2 个答案:

答案 0 :(得分:0)

您需要以某种方式将客户端的会话与随机数相关联。您可以访问由Web应用程序容器生成的jsessionid。用随机数映射它。

答案 1 :(得分:0)

您的最简单方法是使用会话参数。将为每个用户创建会话,因此您可以为每个会话(用户)创建一个参数。

如果新会话尚不存在,则创建新会话:

    HttpSession session = request.getSession(true);
    session.setAttribute("randomValue","YOUR VALUE HERE");

通过此代码,您可以在下一个请求中从会话上下文中读取参数:

    request.getSession(false).getAttribute("randomValue");

你可以用同样的方式“保存”。