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