簡體   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