Il problema è appurato in eclipse perchè con netbeans funziona, la pagina è stata implementata, ora ho una jsp che preleva i dati da un database sfruttando una classe,
All'inizio avevamo creato la classe in modo che il costruttore si occupasse della connesione al db , ho cercato di rendere la classe + usanbile e allora ,visto che i javabean vogliono costruttori senza parametri ho delegato la connessione a un metodo dedicato .Il problema è che se la connessione la esegue il costruttore tutto funziona compreso il metodo elimina utente.
Allego classe funzionante
e classe modificata:codice:/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package classi; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Frame 11 */ public class Db { private Connection connect; public Db(){ try { Class.forName("com.mysql.jdbc.Driver") ; // Imposta la connessione al server e al database } catch (ClassNotFoundException ex) { Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex); } try { connect = DriverManager.getConnection("jdbc:mysql://localhost/mio_db","username","password"); // N.B. la password vuota si scrive password= } catch (SQLException ex) { Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex); } } public Connection get_connessione(){ return connect; } }
Sembra non si connetta perchè ho fatto un :codice:/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package classeDb; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Frame 11 */ public class Db { private Connection connect; private int id; private String prova; public void connettialdatabase(String server,String nomedb,String username,String password){ try { try { Class.forName("com.mysql.jdbc.Driver") ; // Imposta la connessione al server e al database } catch (ClassNotFoundException ex) { Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex); } // prova="jdbc:mysql://"+server+"/"+nomedb+",\""+username+"\",\""+password+"\""; connect = DriverManager.getConnection("jdbc:mysql://"+server+"/"+nomedb+","+username+","+password+"\""); // N.B. la password vuota si scrive password= } catch (SQLException ex) { Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex); } } public Connection get_connessione(){ return connect; } public void eliminazione(Connection connect,String id,String tabelladb){ try { this.connect=connect; this.id=Integer.parseInt(id); String nometabella=tabelladb; String sql = "delete from "+nometabella+" where id="+id; Statement stmt = connect.createStatement(); stmt.executeUpdate(sql); } catch (SQLException ex) { Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex); } } /* public String getProva(){ return prova; } */ }
out.println(db.get_connessione());
L'output nella pagina è null.....

Rispondi quotando