Newsgroup: it.comp.java
Titolo: Connessione al DataBase MySQL

Ho una servlet che deve interrogare un DataBase. Ho messo il file 
"mysql-connector-java-3.2.0-alpha-bin.jar" in tutte le cartelle possibili 
(WEB-INF\common\lib; WEB-INF\lib; WEB-INF\shared\lib) e lo messo anche nella 
cartella di Tomcat (common\lib; shared\lib), non so se lo devo "registrare" 
in web.xml o ho sbagliato qualcosa sul codice della servlet.
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class ThreeParam extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
//connessione al Database
Connection conn = null;
try {
String userName = "";
String password = "";
String url = "jdbc:mysql://localhost/elettori";
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url,userName,password);
String title = new String ("OK!");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>"+title+"<\title>");
out.println("<body bgcolor=\"9900FF\">");
out.println("<p> Connessione Stabilita!!! </p>");
out.println("</body></head></html>");
}
catch (Exception e){
String title = new String ("E R R O R E!");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>"+title+"<\title>");
out.println("<body bgcolor=\"9900FF\">");
out.println("<p> Cannot Connect to Database </p>");
out.println("</body></head></html>");
}
finally {
if (conn!=null)
try {
conn.close();
} catch (SQLException e1) { }
}
}
public void doPost (HttpServletRequest request, HttpServletResponse 
response)
throws IOException, ServletException{
doGet(request,response);
}
}
Se qualcuno può darmi una mano gliene sarei infinitamente grato!!!!

Che eccezione hai?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 in tutte le cartelle possibili
Magari sarebbe stato interessante vedere anche l'errore...
Intanto, hai settato il CLASSPATH? deve puntare a quel file.
Saluti
CarMas

 "registrare" in web.xml o ho sbagliato qualcosa sul codice della servlet.
come prima cosa ti consiglio di usare una versione non beta
per es: mysql-connector-java-3.0.11-stable-bin.jar
è sufficente mettere il file una sola volta nella cartella common\lib
del server, se per esempio hai installato Tomcat 5 sarà:
C:\Programmi\Apache Software Foundation\Tomcat 5.5\common\lib\
invece di passare user e passwor vuoti, non passarli affatto.
se ancora non va posta l'eccezione.
Saluti

> Che eccezione hai?
Non ho eccezioni, è solo che non mi fa vedere quello che voglio:
out.println("<p> Connessione Stabilita!!! </p>");
e nemmeno
out.println("<p> Cannot Connect to Database </p>");
Anche se ciò avviene solo sul servlet visto che se faccio una classe con 
main() posso manipolare benissimo il Database.
Ciao 


Questo non l'ho fatto ma, come già scritto in risposta a "Xamul" non mi da
eccezioni è solo che avviata la servlet mi fa vedere una pagina html bianca.
Per il fatto del class path cosa dovrei fare, perchè sulla guida del driver
c'era scritto che dovevo settare 'sto classpath ma facendo una classe con
main  riuscivo a manipolare bene il database
Ciao
X CarMas: Perdonami ancora per quell'inconveniente!!!!! 

Può dipendere dal fatto che durante il deploy fatto con Lomboz continua a 
darmi degli errori che avevo già postato, seppure abbia fatto ciò che mi 
raccomandava un altro amico del newsgroup.
ovvero cambiare qualche cosa sul file tomcat50x.server
Bootstrap: Class loader creation threw exception
java.lang.ExceptionInInitializerError
at
org.apache.catalina.startup.ClassLoaderFactory.<clinit>(ClassLoaderFactory.java:63)
at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:103
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:196)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:402)
Caused by: org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException:
java.lang.NullPointerException (Caused by java.lang.NullPointerException)
(Caused by org.apache.commons.logging.LogConfigurationException:
java.lang.NullPointerException (Caused by java.lang.NullPointerException))
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.apache.tomcat.util.compat.JdkCompat.<clinit>(JdkCompat.java:55)
... 4 more
Caused by: org.apache.commons.logging.LogConfigurationException:
java.lang.NullPointerException (Caused by java.lang.NullPointerException)
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
... 8 more
Caused by: java.lang.NullPointerException
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:374)
... 9 more

 "registrare" in web.xml o ho sbagliato qualcosa sul codice della servlet.
è un problema dell'HTML che viene generato
cambia <\title> in </title>

 cambia <\title> in </title>
Perdonate la mia super-demenza!!!!!!
Era proprio quello!!!
 E pensare che dicevo :"Ma no, dai l'html è per forza giusto!!!!"
Grazie Alverman!!!! Ti voglio Bene :-D 

Perdonatemi se continuo a postare su questa discussione, ma oltre al fatto 
che avevo sbagliato il codice html, per quelli che (speriamo di no) si 
cimenteranno nello stesso problema da risolvere dico di mettere il driver 
nella cartella JSDK/jre/lib/ext io invece lo mettevo in quello dello jre 
esterno allo jsdk. Può darsi non dipenda da ciò ma forse anche da quello.
Grazie a tutti
robbensonH 

Salve a tutti.
Io ho un problema simile, i driver sono nella cartella coretta del jdk, 
solo che durante l'esecuzione di un .class che gestisce la connessione 
al database e il recupero di informazioni passa direttamente al catch. 
Il codice semplificato:
          try{
		Class.forName("com.mysql.jdbc.Driver");
                 Conn = DriverManager("jdbc:mysql://localhost/test");
                 .....
		return Servlet.PathJSP + "RegPage.jsp";
          }catch(SQLException e){
		return Servlet.PathJSP + "Error.jsp";
	}
Il problema e che passa direttamente al catch e quindi visualizzo 
l'"Error.jsp".
Grazie e scusate se ci sono errori e che vado un po di fretta...


                  Conn = DriverManager("jdbc:mysql://localhost/test");
   Questa riga di sicuro non te la compila nemmeno, per cui magari posta il
codice ammodo E l'eccezione.
Ciao,
   Francesco

Ho trovato l'errore, cmq avevo avvisato che ci potevano essere errori 
dato che non avevo il codice sottomano ed ero praticamente di fuga per 
milan-inter ^_^.
Ciao
    Chag
