1222carnivore  

今天完善了用户登录系统,使每个用户都有自己独特的id,并对自己代码进行了相应的修改

<%
  request.setCharacterEncoding("utf-8");
  // 获取表单数据
  String username = request.getParameter("Username");
  String password = request.getParameter("Password");

  if (username == null || username.trim().isEmpty() || password == null || password.trim().isEmpty()) {
    // 用户名或密码为空,重定向回 login.jsp 并显示错误信息
    response.sendRedirect("login.jsp?error=emptyFields");
  } else {
    int i = 0;
    Connection connection = util.getConnection();
    PreparedStatement preparedStatement = null;
    ResultSet rs = null;
    try {
      String sql = "SELECT * FROM 用户基本信息表 WHERE 用户名 = ? AND 密码 = ?";
      preparedStatement = connection.prepareStatement(sql);
      preparedStatement.setString(1, username);
      preparedStatement.setString(2, password);
      rs = preparedStatement.executeQuery();

      if (rs.next()) {
        i++;
      }

      if (i == 0) {
        // 用户名或密码不正确,重定向回 login.jsp 并显示错误信息
        String encodedUsername = java.net.URLEncoder.encode(username, "UTF-8");
        response.sendRedirect("login.jsp?error=invalidCredentials&Username=" + encodedUsername);
      } else {
        // 登录成功,保存用户名到 session,并重定向到 Menu.jsp
        session.setAttribute("Username", username);
        response.sendRedirect("/Menu.jsp");
      }
    } catch (SQLException e) {
      e.printStackTrace();
      String encodedUsername = java.net.URLEncoder.encode(username, "UTF-8");
      response.sendRedirect("login.jsp?error=databaseError&Username=" + encodedUsername);
    } finally {
      util.close(rs);
      util.close(preparedStatement);
      util.close(connection);
    }
  }
%>
posted on 2025-02-20 18:15  作业-----  阅读(15)  评论(0)    收藏  举报