Driver SQL, java?

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
claudios96
Prode Principiante
Messaggi: 23
Iscrizione: giovedì 18 agosto 2016, 12:50

Driver SQL, java?

Messaggio da claudios96 »

Dovrei fare un progetto per un esame all'Università in cui dobbiamo utilizzare i DataBase in cui memorizziamo degli Utenti che sono iscritti ad un sito, che devono avere vari campi; mi viene dato un problema con il Driver SQL, poiché non viene trovato; tuttavia non è questione di librerie o cose varie, perché ho una classe UtenteDao2 che ha un main in cui ottiene la connessione, e va tutto bene; dopodiché, faccio copia-incolla del codice, tramite una pagina JSP invoco un bean e poi un controllore che chiama il metodo per connettersi al database e caricare l'utente, stesso identico codice poiché ho fatto copia-incolla, e non trova il driver

Codice: Seleziona tutto

package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class UtenteDao2{
	public static void main(String[] args){
		try{
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/Utente","root","miapassword");
			if(conn != null)
				System.out.println("Connected");
		}
		catch(ClassNotFoundException ex){
			System.out.println("ex");
		}
		catch(IllegalAccessException e1){
			System.out.println("ecc1");
		}
		catch(InstantiationException e){
			System.out.println("ecc");
		}
		catch(SQLException e2){
			System.out.println("ecc2");
		}
	}
}
Qui viene stampato "connected"; dopodiché in questo:

Codice: Seleziona tutto

package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import entity.Ruolo;
import entity.Utente;

public class UtenteDao {
	private static UtenteDao ud = null;
	
	public static UtenteDao getInstance(){
		if(ud == null)
			ud = new UtenteDao();
		return ud;
	}
	
	
	

	public Utente caricaUtente(String username,String password){
		Utente u = null;
		try{
			try{
				Class.forName("com.mysql.jdbc.Driver").newInstance();
			}
			catch(ClassNotFoundException e){
				System.out.println("Driver non trovato");
			}
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/Utente","root","miapassword");
			if(conn != null)
				System.out.println("Connected");
			String query = "SELECT nome, cognome, username, password FROM utenti where username = '"
                + username + "' AND password = '" + password + "';";
			Statement stmt = conn.createStatement();
			ResultSet rs = stmt.executeQuery(query);

			if (!rs.first())
             return null;

			boolean moreThanOne = rs.first() && rs.next();
			assert !moreThanOne; 
			rs.first();

			String nome = rs.getString("nome");
			String cognome = rs.getString("cognome");
			String usernameLoaded = rs.getString("username");
			String passwordLoaded = rs.getString("password");
			String ruolo = rs.getString("ruolo");
			String tipo = rs.getString("tipo");
			Class<?> c = Class.forName(ruolo);
			Ruolo r = (Ruolo) c.newInstance();

			assert (usernameLoaded.equals(username));

			u = new Utente(nome,cognome,usernameLoaded,passwordLoaded,r,tipo);
			
			rs.close();
			stmt.close();
			conn.close();
		}
		catch(SQLException e){
			System.out.println("Errore con SQL");
		}
		catch(ClassNotFoundException e2){
			System.out.println("Classe non trovata");
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		}
		return u;
	}
}
io da una pagina JSP istanzio un bean che a sua volta chiama un controllore per vedere se esiste l'utente, il controllore chiama UtenteDao.getInstance().caricaUtente() e viene stampato il messaggio "Driver non trovato"..Come vedete, stesso identico codice; da che può dipendere questo?Purtroppo non ci hanno spiegato nulla di nulla, abbiamo fatto tutto da soli, potrebbero esserci molte cose che non so di questo maledetto Driver
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti