Bonjour tout le monde. je suis nouveau avec java, j'ai une application à realiser avec jsf et une base de donné postgresql.

Maintenant je suis entrain de réaliser une identification. J'arrive à faire la connexion à la base de données et récupérer les information de la table "user". Mon problème c'est lorsque je fais le test pour comparer les valeurs des champs de formulaire avec celle de la base de données, il ne prend pas en considération que le dernier username et mot de passe.

L'exécution de ce code m'affiche le premier username et password de la table "user" et après :
Exception in thread "main" java.lang.NullPointerException
at connect.check(connect.java:62)
at connect.main(connect.java:84)
Java Result: 1
voici mon class connect.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
@ManagedBean 
@SessionScoped
public class connect {
 
     private  String pass;
     private  String user;
     private  String message;
 
    public String getPass() {
        return pass;
    }
 
    public void setPass(String pass) {
        this.pass = pass;
    }
 
    public String getUser() {
        return user;
    }
 
    public void setUser(String user) {
        this.user = user;
    }
 
    public String getMessage() {
        return message;
    }
 
    public void setMessage(String message) {
        this.message = message;
    }      
    public String check()
     {
 
    Connection con = null;
 
       try {
 
         con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/login", "postgres", "1234");
 
         System.out.println("Opened database successfully");
 
     String sql = "SELECT * FROM users";    
 PreparedStatement prest = con.prepareStatement(sql);
ResultSet rs = prest.executeQuery();
 
               while ( rs.next() ) {
 
               System.out.println("UserName="+rs.getString("username")+",Password="+rs.getString("password"));
 
 
                    String  username = rs.getString("username");
                   String password  = rs.getString("password");
                   if(user.equals(username) &&(pass.equals(password))){
 
                      message="admin";   }
                  else message="error";
                  }
 
         prest.close();
         con.close();
       } catch ( SQLException e ) {
         System.err.println( e.getClass().getName()+": "+ e.getMessage() );
 
       }
       System.out.println("Operation done successfully");
       return message;
     }
 
 
    public connect() {
    }
 
    public static void main( String args[] ){
    connect c= new connect();
    c.check();
    }
 
 
}
S'il vousplait, quelqu'un parmis vous peut me corriger ce code ? Merci d'avance.