Это нормально, что когда я вхожу в систему и захожу на страницу для входа в систему и обновляю страницу, идентификатор сеанса меняется и создается новый сеанс? - PullRequest
1 голос
/ 05 апреля 2019

Это нормально, что когда я вхожу в систему и захожу на страницу для входа в систему и обновляю страницу, идентификатор сеанса меняется и создается новый сеанс? Я заявляю, что я использую TomCat. Со страницы index.html через форму, в которую я вхожу, чтобы перенаправить себя на эту страницу java, после открытия html-страницы java она просто возвращает мне то, что я спрашиваю, но если я обновляю страницу на tomcat, я знаю, что она создает мне новый сеанс, это нормально? Моя цель - провести сеанс для каждого отдельного пользователя, как мне это сделать?

"index.html"
<html>
  <head>
    <title> Inserisci nome </title>
  </head>

  <body>
    <p> <h2>Inserisci il tuo nome </h2>
    <form action="/Esercizio8/SerSal" method="post">
      <input type="text" name="nome"> <strong>USERNAME</strong> <br>
      <input type="password" name="pwd"> <strong>PASSWORD</strong> <br>
      <br>
      <input type="submit" value="Invia">
    </form>
  </body>
</html>

"SerSal.java"
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SerSal extends HttpServlet{
  int count;
  protected void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
    String name = request.getParameter("name");
    String pwd = request.getParameter("pwd");
    HttpSession session = request.getSession();
    session.setAttribute("Name",name);
    session.setAttribute("Password",pwd);
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>HELLO!</title></head>");
    out.println("<body>");
    out.println("Hello " + name);
    out.println("This " + (session.isNew()? "is" : "is not") + " a new session! <br>");
    out.println("</body>");
    out.println("</html>");
    out.close();
  }
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException{
    HttpSession session = request.getSession(false);
  }
}

...