登录错误:java.sql.SQLException:未找到“user.id”列

登录错误:java.sql.SQLException:未找到“user.id”列,java,sql,jsp,jdbc,Java,Sql,Jsp,Jdbc,我正在尝试创建登录页,但出现以下错误: error: java.sql.SQLException: Column 'user.id' not found. 当我调用该类时,它似乎找不到我的列Id。Id列在我的SQL数据库中,名称正确。但是,它不起作用 我试图寻找不同的解决方案,但似乎找不到任何解决方案。请帮忙。 下面是我的Java DAO类和jsp文件 public static user getAccountByNamePass(String user_Name, String passw

我正在尝试创建登录页,但出现以下错误:

error: java.sql.SQLException: Column 'user.id' not found. 
当我调用该类时,它似乎找不到我的列Id。Id列在我的SQL数据库中,名称正确。但是,它不起作用

我试图寻找不同的解决方案,但似乎找不到任何解决方案。请帮忙。 下面是我的Java DAO类和jsp文件

public static user getAccountByNamePass(String user_Name, String password) {
        user result = null;
        Connection connection = null;
        PreparedStatement ps = null;

        try {
            DB_Connection obj_DB_Connection = new DB_Connection();
            connection=obj_DB_Connection.get_Connection();

            String sql = "SELECT * FROM users WHERE user_name = ? AND password = ?";

            ps = connection.prepareStatement(sql);

            ps.setString(1, user_Name);
            ps.setString(2, password);
            ResultSet res = ps.executeQuery();
            while (res.next()) {
                result = createAccountResult(res);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } 
        return result;
    }


    static user createAccountResult(ResultSet res) throws SQLException {
        user buyer = null;
        int id2 = res.getInt("user.id");
        String firstName = res.getString("user.first_name");
        String lastName = res.getString("user.last_name");
        String userName = res.getString("user.user_name");
        String password = res.getString("user.password");

        buyer = new user(id2, firstName, lastName, userName, password);
        return buyer;
    } 




    ArrayList<String> errors = new ArrayList<>();

    String user_name = "";
    String password = "";

    if (request.getParameter("login") != null) {
        user_name = request.getParameter("user_name");
        password = request.getParameter("password");

        if (user_name.trim().isEmpty()) {
            errors.add("Please enter username");
        }

        if (password.trim().isEmpty()) {
            errors.add("Please enter password");
        }

        if (errors.isEmpty()) {
            user user = usersDAO.getAccountByNamePass(user_name, password);

            if (user == null) {
                errors.add("Wrong username or password!");
            } else {
                UserSession sessionModel = (UserSession) request.getSession().getAttribute("sessionModel");
                sessionModel.login(user.getId());

                response.sendRedirect("frontPage.jsp");
                return;
            }
        }
    } else if (request.getParameter("logout") != null) {
        UserSession model1 = (UserSession) request.getSession().getAttribute("sessionModel");
        model1.logout();
        response.sendRedirect("frontPage.jsp");
        return; 
    }





您不需要使用表的名称,只需使用列的名称,如下所示:

int id2 = res.getInt("id");
String firstName = res.getString("first_name");
String lastName = res.getString("last_name");
String userName = res.getString("user_name");
String password = res.getString("password");

您不需要使用表的名称,只需使用列的名称,如下所示:

int id2 = res.getInt("id");
String firstName = res.getString("first_name");
String lastName = res.getString("last_name");
String userName = res.getString("user_name");
String password = res.getString("password");
也许在这里:

int id2=res.getIntuser.id

应该是用户id还是仅id?

可能在这里:

int id2=res.getIntuser.id


应该是用户id还是仅id?

请遵守命名约定。这并不难:类总是以大写字母开头,并且没有下划线!。变量总是以小写字母开头,并且不包含下划线!。你不尊重他们,使你自己和我们的生活变得困难。这是否回答了你的问题?请尊重命名约定。这并不难:类总是以大写字母开头,并且没有下划线!。变量总是以小写字母开头,并且不包含下划线!。你不尊重他们,使你自己和我们的生活变得困难。这是否回答了你的问题?我已将其更改为just id,并收到一条新的错误消息:消息处理过程中发生异常[/logIn.jsp]在第[31]行描述服务器遇到意外情况,使其无法满足请求。我已将其更改为just id,并收到一条新的错误消息:消息处理过程中发生异常[/logIn.jsp]在第[31]行“说明”中,服务器遇到了一个意外情况,使其无法满足请求。@tobiasmadsen17这是一个新错误,这意味着一个新问题,这意味着您必须创建一个新问题,因为每篇文章都应该关注一个问题,而不是多个问题。谢谢。谢谢你的提示和帮助。我对这个社区有点陌生。@tobiasmadsen17这是一个新错误,意味着一个新问题,意味着你必须提出一个新问题,因为每个帖子应该关注一个问题,而不是多个问题。谢谢。谢谢你的提示和帮助。我对这个社区有点陌生。