Salve ragazzi,
vorrei chiedervi un aiuto perchè sono caduto nel panico più totale.
Stavo realizzando un'applicazione in jsf che si interconnette con un db
mysql.
Ho realizzato il tutto con le jdbc 1.0,ma ora mi è stato detto di
passare ad un datasource, per cui usando il server Tomcat ho pensato di
appoggiarmi al progetto Jakarta DBCP.
Avendo già la classe scritta per la connessione al db con le jdbc 1.0
vorrei modificarla per adattarla a questa nuova tecnologia....ma non so
dove mettere mano....ho letto la documentazione ma mi sembra
terribilmente difficile,nonostante abbia già usato nella mia
applicazione componenti esterni per fare l'upload di un file...
Qualcuno ha voglia di aiutarmi?
La classe è la seguente,come posso riscriverla nel nuovo ambito?
Come devo modificare il web.xml del server?
Vi prego aiutatemi...

codice:
ackage giu; 
/* 
 * Classe dedicata alla gestione del Database. 
 * Gestisce l'apertura e la chiusura della connessione col Database 
 * Fornisce i metodi per l'esecuzione delle query sul Database 
 */ 
import java.sql.*; 
import java.util.Vector; 


public class Database { 
   private String nomeDB;       // Nome del Database a cui connettersi 
   private String nomeUtente;   // Nome utente utilizzato per la 
connessione al Database 
   private String pwdUtente;    // Password usata per la connessione al 
Database 
   private String errore;       // Raccoglie informazioni riguardo 
l'ultima eccezione sollevata 
   private Connection db;       // La connessione col Database 
   private boolean connesso;    // Flag che indica se la connessione è 
attiva o meno 


   public Database(String nomeDB) { this(nomeDB, "", ""); } 


   public Database(String nomeDB, String nomeUtente, String pwdUtente) 
{ 
      this.nomeDB = nomeDB; 
      this.nomeUtente = nomeUtente; 
      this.pwdUtente = pwdUtente; 
      connesso = false; 
      errore = ""; 
   } 


   // Apre la connessione con il Database 
   public boolean connetti() { 
      connesso = false; 
      try { 


         // Carico il driver JDBC per la connessione con il database 
MySQL 
         Class.forName("com.mysql.jdbc.Driver"); 


         // Controllo che il nome del Database non sia nulla 
         if (!nomeDB.equals("")) { 


            // Controllo se il nome utente va usato o meno per la 
connessione 
            if (nomeUtente.equals("")) { 


               // La connessione non richiede nome utente e password 
               db = 
DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB); 
            } else { 


               // La connessione richiede nome utente, controllo se 
necessita anche della password 
               if (pwdUtente.equals("")) { 


                  // La connessione non necessita di password 
                  db = 
DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB + 
"?user=" + nomeUtente); 
               } else { 


                  // La connessione necessita della password 
                  db = 
DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB + 
"?user=" + nomeUtente + "&password=" + pwdUtente); 
               } 
            } 


            // La connessione è avvenuta con successo 
            connesso = true; 
         } else { 
            System.out.println("Manca il nome del database!!"); 
            System.out.println("Scrivere il nome del database da 
utilizzare all'interno del file \"config.xml\""); 
            System.exit(0); 
         } 
      } catch (Exception e) { errore = e.getMessage(); } 
      return connesso; 
   } 
   public boolean eseguiAggiornamento(String query) { 
              int numero = 0; 
              boolean risultato = false; 
              try { 
                 Statement stmt = db.createStatement(); 
                 numero = stmt.executeUpdate(query); 
                 risultato = true; 
                 stmt.close(); 
              } catch (Exception e) { 
                 e.printStackTrace(); 
                 errore = e.getMessage(); 
                 risultato = false; 
              } 
              return risultato; 
           } 
   public Vector eseguiQuery(String query) { 
              Vector v = null; 
              String [] record; 
              int colonne = 0; 
              try { 
                 Statement stmt = db.createStatement();     // Creo lo 
Statement per l'esecuzione della query 
                 ResultSet rs = stmt.executeQuery(query);   // Ottengo il 
ResultSet dell'esecuzione della query 
                 v = new Vector(); 
                 ResultSetMetaData rsmd = rs.getMetaData(); 
                 colonne = rsmd.getColumnCount(); 


                 while(rs.next()) {   // Creo il vettore risultato scorrendo 
tutto il ResultSet 
                    record = new String[colonne]; 
                    for (int i=0; i<colonne; i++) record[i] = 
rs.getString(i+1); 
                    v.add( (String[]) record.clone() ); 
                 } 


                 rs.close();     // Chiudo il ResultSet 
                 stmt.close();   // Chiudo lo Statement 
              } catch (Exception e) { e.printStackTrace(); errore = 
e.getMessage(); } 


              return v; 
           } 


   // Chiude la connessione con il Database 
   public void disconnetti() { 
      try { 
         db.close(); 
         connesso = false; 
      } catch (Exception e) { e.printStackTrace(); } 
   } 


   public boolean isConnesso() { return connesso; }   // Ritorna TRUE 
se la connessione con il Database è attiva 
   public String getErrore() { return errore; }    // Ritorna il 
messaggio d'errore dell'ultima eccezione sollevata 
   public Connection getConnection() { return db; }