Java JSP登录注销使用bean的简单web应用程序-当数据库中存在数据时返回false
我正在学习J2EE,尝试使用JSAP和Beans创建一个简单的loginLogout应用程序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
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();}不,输入电子邮件或传递值时,我不给任何空间!!将尝试断言和调试。不,输入电子邮件或传递值时,我不给任何空间!!将尝试断言和调试。