[英]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.