Java JSP登录注销使用bean的简单web应用程序-当数据库中存在数据时返回false

Java JSP登录注销使用bean的简单web应用程序-当数据库中存在数据时返回false,java,jsp,servlets,Java,Jsp,Servlets,我正在学习J2EE,尝试使用JSAP和Beans创建一个简单的loginLogout应用程序 db data is: name email pass rita rita@123 rita@567 scdjkc abc@gmail.com 12376 jsgdjj abcdef@gmail.com 123476 sgApurva abcdef@gmail.com 123476 sgApurva abc123

我正在学习J2EE,尝试使用JSAP和Beans创建一个简单的loginLogout应用程序

 db data is:
 name     email             pass
 rita     rita@123          rita@567
 scdjkc   abc@gmail.com     12376
 jsgdjj   abcdef@gmail.com  123476
 sgApurva abcdef@gmail.com  123476
 sgApurva abc123@gmail.com  123e3476
当我给予的时候”rita@123“在电子邮件和”rita@567“在pass中,它说:不正确的凭证-这意味着返回值为false。我无法理解,当数据已经存在于数据库中时,它为什么返回false。”。当我努力编码这些值时,它正确地显示了正确的信息

我在java应用程序中写了同样的东西,然后返回true。 请帮助我解决此问题。
以下是我的db连接和获取数据代码:

//String query="select * from emp2 where email='rita@123' and pass='rita@567'";
String query= "select * from emp2 where email=? and pass=?";
try{  
    Connection con = ConnectionProvider.getCon();  

    if(con==null){
        return "value";
    }

    PreparedStatement ps=con.prepareStatement(query);  
    ps.setString(1,bean.getEmail());  
    ps.setString(2,bean.getPass());  
    ResultSet rs = ps.executeQuery();  

    if(rs.next()){
        return "true";
    }
    else{
        return "false";
    } 

}catch(Exception e){
    e.printStackTrace();
}  

return "error";  

您是否可能有空格`?如果硬编码值起作用,这意味着传入字符串不同。尝试调试并查看正在进行的操作。您还可以将您期望的内容作为输入进行断言,并记录它的真实内容。

是否可能有空格`?如果硬编码值起作用,这意味着传入字符串不同。尝试调试并查看正在进行的操作。您还可以为预期输入的内容放置断言,并记录其真实内容。

您可以使用trim()方法消除字符串上可能的空格:

bean.getEmail().trim();

可以使用trim()方法消除字符串上可能的空格:

bean.getEmail().trim();

是否可能有空格“”?是否可能有空格“”?字符串结果=LoginDao.loginCheck(obj);if(result.equals(“value”){response.sendrirect(“index.jsp?status=value”);}if(result.equals(“true”){session.setAttribute(“emailval”,obj.getEmail());response.sendrirect(“homePage.jsp”);}if(result.equals(“false”){response.sendrirect(“index.jsp?status=false”);}if(result.equals(“错误”)){response.sendRedirect(“index.jsp?status=error”);}----在添加trim之后,它也不起作用。私有字符串email,pass;公共字符串getEmail(){return email;}公共无效setEmail(String email){this.email=email.trim();}公共字符串getPass(){return pass;}public void setPass(String pass){this.pass=pass.trim();}String result=LoginDao.loginCheck(obj);if(result.equals(“value”){response.sendrirect(“index.jsp?status=value”);}if(result.equals(“true”){session.setAttribute(“emailval”,obj.getEmail());response.sendrirect(“homePage.jsp”);}if(result.equals(“false”){response.sendRedirect(“index.jsp?status=false”);}if(result.equals(“error”){response.sendRedirect(“index.jsp?status=error”);}----添加trim后,它也不起作用。私有字符串email,pass;公共字符串getEmail(){return email;}公共无效setEmail(字符串email){this.email=email.trim();}public String getPass(){return pass;}public void setPass(String pass){this.pass=pass.trim();}不,输入电子邮件或传递值时,我不给任何空间!!将尝试断言和调试。不,输入电子邮件或传递值时,我不给任何空间!!将尝试断言和调试。