PDA

View Full Version : Servlet:come effettuare una connessione a MySql


mercury841
11-11-2005, 19:51
Salve ho dei problemi a connettermi al Database Mysql,questa è la mia servlet:

import java.io.*;
import java.sql.*;
import javax.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;



public class es_database extends HttpServlet {

public void doGet(HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException {
Connection con = null;
Statement stmt = null;
ResultSet rs = null;

response.setContentType("text/html");
PrintWriter out = response.getWriter();

try {
// Carica (e quindi registra) il driver MySql
Class.forName("com.mysql.jdbc.Driver");

// Ottieni una connessione alla base di dati
con=DriverManager.getConnection
("jdbc:mysql://localhost:3306/database","","");

// Crea un oggetto Statement
stmt = con.createStatement();

// Esegui una query SQL, ottieni un ResultSet
rs = stmt.executeQuery("SELECT * FROM tabella");

// Mostra l'insieme dei risultati come una lista
out.println("<HTML><HEAD><TITLE>Tabella Giuseppe</TITLE></HEAD>");
out.println("<BODY>");
out.println("<UL>");
while(rs.next()) {
out.println("<LI>" + rs.getString("name") + " " + rs.getString("phone"));
}
out.println("</UL>");
out.println("</BODY></HTML>");

}

catch (ClassNotFoundException e) {
// Handle an error loading the driver
out.println("Impossibile caricare il driver della base di dati: "
+ e.getMessage());
}
catch (SQLException e) {
// Handle an error getting the connection
}

finally {
// Chiudere sempre la connessione alla base di dati
try {
if (con != null)
con.close();
}
catch (SQLException ignored) { }
}
}
}


In poche parole non mi carica i driver della base dati.
Vorrei sapere perchè?
Spero di non suscitare in voi sentimenti di linciaggio...
Grazie ciao

Brazorv
11-11-2005, 20:15
il file jar del driver di MySQL va copiato nella cartella WEB-INF/lib della WebApp

mercury841
11-11-2005, 20:32
ma dove lo trovo questo file jar?
grazie, ciao

Brazorv
11-11-2005, 20:41
http://dev.mysql.com/downloads/connector/j/3.1.html

qui

franksisca
11-11-2005, 20:42
scusate se mi inserisco, ma io ho un problema simile che vi espongo.
Ho fatto u'applicazione che lavora con database mysql, e uso JConnector(Scaricabile dal sito di mysql) per collegarmi.
Lì'applicazione l'ho sviluppata in eclipse, e se importo nel classpath di eclipse il jar di JConnector, va tutto bene, se lo porto fuori, mi và uno schifo, ovvero non mi riconosce il jConnector e mi dà problemi alla connesione al database.
Come posso risolvere????

mercury841
11-11-2005, 22:12
Grazie per le informazioni, adesso però è sopraggiunto un nuovo problema quando vado ad eseguire la servlet, il browser mi da un errore HTTP status 500, il codice è giusto oppure c'è qualche errore? Ciao e grazie.

mercury841
12-11-2005, 11:39
ecco cosa mi dice il browser:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Unknown Source)
es_database.doGet(es_database.java:18)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.


Ciao e grazie.