繁体   English   中英

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

[英]JSP Login Logout simple web application using bean - returning false when data is present in DB

我正在学习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”时,它说:错误的凭证-这意味着返回值是false。我无法理解为什么当数据已经存在时为什么返回false存在于数据库中。 当我尝试对这些值进行硬编码时,它会正确显示正确的消息。

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

//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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM