Newsgroup: it.comp.java
Titolo: Jsp e MySql - db non trovato

Ciao a tutti,
ho un problema con la connessione ad un database all'interno di una 
pagina jsp (so che la domanda è stata posta già su questo forum, ma non 
sonoocmq riuscito a trovare soluzione):
ho creato un db di nome 'webshop', che si trova all'interno della 
cartella di mysql;
ho una pagina jsp che prova a connettersi a tale db usando il seguente 
codice:
     Connection connessione = null;
     Class.forName("com.mysql.jdbc.Driver");
     db = 
DriverManager.getConnection("jdbc:mysql://localhost:3306/webshop/","root","luko");
Risultato è però sempre un errore di tomcat che non riesce a trovare il 
db: ho provato a settare varie destinazioni, mettendo anche il percorso 
completo del db ("c:/Programmi/MySQL/MySQL Server 5.0/data/webshop/") ma 
senza risultato.
Qualcuno potrebbe indicarmi dove sbaglio?
Questo è l'errore che ricevo:
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 9 in the jsp file: /main.jsp
Generated servlet error:
db cannot be resolved
Grazie,
Luc

db che cosa è???
la getConnection restituisce una connessione:
Class.forName("com.mysql.jdbc.Driver");
Connection cn = 
DriverManager.getConnection("jdbc:mysql://localhost:3306/webshop/","root","luko");
Statement st = cn.createStatement ();

Cosimo Piceno ha scritto:

Si, scusa, avevo saltato una riga, db veniva dichiarato come oggetto 
Connection. Ho aggiunto la riga da te postata, quindi ora il mio codice è:
     Connection db = null;
     Class.forName("com.mysql.jdbc.Driver"); <--
     db = 
DriverManager.getConnection("jdbc:mysql://localhost:3306/webshop/","root","luko");
     Statement st = db.createStatement ();
Ma ora ricevo il seguente errore:
org.apache.jasper.JasperException: Exception in JSP: /main.jsp:14
(che è la riga indicata dalla freccia)
root cause
javax.servlet.ServletException: com.mysql.jdbc.Driver
root cause
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Suggerimenti?
/L.

 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Devi includere i driver jdbc o nella tua webapp (sotto WEB-INF/lib) o
tra le shared lib a livello di application server...
I driver JDBC per mysql li trovi qui:
http://www.mysql.com/products/connector/j/
hth

jotaro ha scritto:

ciao,
il file .jar con i driver jdbc per mysql è già presente nella cartella 
lib della mia applicazione. Oltre a copiare il file .jar devo settare 
qualcosa d'altro?
Intanto ho fatto alcuni controlli sul database usando un programma che 
si chiama squirrel, con il quale ho testato sia il driver jdbc (che 
funziona) sia il funzionamento del db stesso (insert, delete, update da 
riga di comando funzionano tutti).
Qualche altra alternativa?
devo forse settare il file web.xml in qualche modo? (che tra l'altro io 
non ho nella mia cartella, perchè sapevo che usando soltanto jsp non 
c'era la necessita di utilizzarlo, quindi non l'ho creato. Sbagliavo?
/L.

il messaggio:
"java.lang.ClassNotFoundException: com.mysql.jdbc.Driver"
è inequivocabile, Tomcat non trova la classe, tuttavia se, come dici,
il .jar è già presente nella cartella WEB-INF\lib\ della tua applicazione,
dovrebbe trovarlo, in alternativa prova a metterlo nella common\lib
di Tomcat. Non c'è da settare nient'altro

P.S. il file .jar di cui parliamo,
se hai scaricato l'ultima versione, è questo:
mysql-connector-java-3.1.13-bin.jar

 
Ringrazio dell'aiuto, avevo la versione precedente 3.1.12, evidentemente 
aveva qualche problema. Ora risolto, grazie ancora.
/L.