java - 在数组列表中存储值并打印它

标签 java jsp arraylist servlet-3.0

我将登录的用户名存储在数组列表中,然后将数组列表放入 session 中。每当用户第一次登录时,它都会打印用户名,但刷新页面时,相同的名称会打印两次,但我只想无论用户刷新页面多少次,都只打印一次用户名,请帮忙

String username = request.getParameter("username");
            String password = request.getParameter("password");


HttpSession session = request.getSession(true);

        session.setAttribute("username", username);
        session.setAttribute("password", password);
        response.setContentType("text/html");                  
        ArrayList<user> users = (ArrayList<user>) sc
                      .getAttribute("users");

              if (users == null) {
                  System.out.println("loggedInUsers creates");
                  users = new ArrayList<user>();

              }
              users.add(new user(Name, U_ID, Pass));

              sc.setAttribute("users", users);


              users = (ArrayList<user>) sc.getAttribute("users");

              for (int i = 0; i <= users.size() - 1; i++) {
                  user user = users.get(i);
                  out.println(user.getUserName()+ "<br>");
                  //out.println("<br/>" + user.get(i));
              } 

最佳答案

使用 Hashmap,因为它不允许重复,并且会用新 key 替换原始 key 。

HashMap hm = new HashMap();

hm.put (U_ID, new user(Name, U_ID, Pass));

关于java - 在数组列表中存储值并打印它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21982619/

相关文章:

Java 嵌套 ifs

java - SpringFramework jsp设置限制JAVA url

java - 如何通过跳过前 3 行来读取和添加文件中的对象?

jsp - 创建注销,以便在 JSP 中不发生任何返回操作

java - 如何从 ArrayList 中删除元素?

java - 使用 Jackson 将 JSON 反序列化为包含集合的 Java 对象

java - 如何限制KeyEvent捕获速度

java - Maven war 插件 : Specify Regular Expression to exclude libraries within web-inf/lib

java - 启动一个没有 UI 的 Activity 启动服务并完成,但不想中断当前正在运行的应用程序

mysql - 处理searchresults.jsp时出现异常