1月24日总结-智能开发牛翰社区-人工智能-牛翰网

1月24日总结

今日遇到问题
问题1:src目录中无法创建软件包
解决方法:
图片[1]-1月24日总结-智能开发牛翰社区-人工智能-牛翰网
将src重新标记为源代码根目录
问题2:在软件包中构建软件包时,软件包直接被重新命名了而不是在下面生成了一个,无法在软件包中重新构建软件包
解决方法:
图片[2]-1月24日总结-智能开发牛翰社区-人工智能-牛翰网
将“压缩空的中间软件包”取消勾选就可以了
问题3:http请求返回结果出现中文乱码(如下
图片[3]-1月24日总结-智能开发牛翰社区-人工智能-牛翰网
解决方法:
此问题出现原因是post请求格式出现问题,得到了与网页编码不一致的参数值,因此方法就是在获取参数值之前声明它的编码形式为utf-8
在获取参数值之前添加:request.setCharacterEncoding("utf-8");

今日成果:将Login_back.jsp写完,总算是完成了login的提交后页面。完成了一个简易的菜单页面
密码错误提示:
图片[4]-1月24日总结-智能开发牛翰社区-人工智能-牛翰网
密码正确跳转:
图片[5]-1月24日总结-智能开发牛翰社区-人工智能-牛翰网
代码:
Login_back.jsp

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="com.Util.util" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.SQLException" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%
  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);
    }
  }
%>

来源链接:https://www.cnblogs.com/1222carnivore/p/18717715

请登录后发表评论

    没有回复内容