Buonaseraaa a tutti. Mi sono appena iscritto in questo Forum. Ho iniziato da poco lo studio in java e sto provando a creare un Login attraverso JDBC, senza usare EJB, Hibernate etc, in modo tale da impararmi bene l'SQL. Non riuscivo a fare il controllo dell'utente all'interno del database , poi ho risolto seguendo una guida , ma non ho capito il perchè funzioni eheeh . Vi posto il codice:
Codice PHP:
//QUESTA E' LA PARTE DELL'ENTITY MANAGER
//public Utente findUtente(Utente u) lancio l'eccezione{
Connection connessione = DriverManager.getConnection(url);
Statement st = connessione.createStatement();
ResultSet resultSet = st.executeQuery("select * from database where nickname='"+ nickname.getNickname() + "' and password='" + password.getPassword() + "';");
Utente u= null;
//Leggo i record
while(resultSet.next()){
u= new Utente();
u.setNickname(resultSet.getString("nickname"));
u.setPassword(resultSet.getString("password"));
}
return u
}
//QUESTA E' LA PARTE DEL LOGIN
Codice PHP:
//recupero con getParameter i campi
//Creo un'istanza dell'entityManager
EntityManager e = new EntityManager ();
//Creo un'istanza dell'utente
Utente u = new Utente();
//Setto nome e pass
Utente ut = e.findUtente(u);
Sino a qui tutto apposto, quello che non capisco è il controllo che ho trovato nella guida per verificare se un nickname è presente nel db
Codice PHP:
if(ut!= null){
HttpSession session = request.getSession(true);
System.out.println("Sei loggato. ";
}
scusa qui dice se ut è diverso da null, vuol dire che ha trovato un record all'interno del db, ma come fa a capire che e a cercare il nickname che recupero da getParameter?