如何在Java中的tomcat下使用jsp获得不同的会话?

时间:2018-06-30 15:27:30

标签: java tomcat servlets

这是我的第一个问题:)

我有一个Tomcat服务器,正在编写在线测验。用户键入他的名字,转到显示对手的下一页,选择一个并开始5个问题的测验。问题结束后,他得到结果并收到一个按钮,可转到对手页面。这很好。

不幸的是,当我使用另一个设备/浏览器模拟另一个用户时,例如第一个用户回答问题2时,该用户会覆盖另一个用户。

我尝试过:

  • 在用户选择对手时创建新会话->相同行为。
  • 在用户选择对手时为游戏创建cookie->相同行为。

有人可以帮助我吗?这是我第一次使用Tomcat / Dynamic Webapp,我认为如果每个用户从另一个浏览器/设备启动,他们都会得到一个自己的会话。

谢谢!

1 个答案:

答案 0 :(得分:0)

我明白了

在按钮检查之后,我只需要创建一个新会话:

if(request.getParameter("anmeldenbutton")!=null)
    {
        HttpSession session = request.getSession(true);

        String spielerNickname = request.getParameter("spielerAnmeldungTextFeld");
        boolean spielerKannErzeugtWerden = SpielerKontroller.addSpielerNicknameZuKontroller(spielerNickname);
        Spieler neuerSpieler;
        if(spielerKannErzeugtWerden)
        {   
            neuerSpieler = new Spieler(spielerNickname);
            SpielerKontroller.addSpielerZuKontroller(neuerSpieler);
            session.setAttribute("angemeldeterspieler", neuerSpieler);
            session.setAttribute("gegnerliste", SpielerKontroller.getGegnerListe(neuerSpieler));

            request.getRequestDispatcher("/angemeldeterspieler.jsp").forward(request, response);
        }