java JSP登录注销简单web应用程序,使用bean在数据库中存在数据时返回false
我正在学习J2EE,尝试使用JSAP和Beans创建一个简单的LoginLout应用程序
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。
请帮我解决这个问题
以下是我的数据库连接和获取数据代码:
//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";
# 1 楼答案
可以使用trim()方法消除字符串上可能的空格:
# 2 楼答案
有没有可能你有空位`?如果硬编码值有效,这意味着传入的字符串不同。尝试调试,看看会发生什么。您还可以将您期望的内容作为输入进行断言,并记录其真实内容