Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [JAVA/JSP] interfacciamento database mysql

    Salve ragazzi sono un neofita per quanto riguarda java, siccome io ho già installato php + mysql ed entrambe funzionano bene, sto passando a Java e dovrei far eseguire un pagina jsp che si connette ad un database mysql ed esegue delle query. Ho visto la pillola del forum su java/mysql però a me non si riesce a coinnettere il database mysql, ecco le cose che ho fatto:
    ho installato eclipse--->controllato tutto ok;
    ho installato tomcat--->tomcat si avvia sula porta 8080;
    ho installato il modulo jconnector ed ho inserito il file .jar nella home di java ed ho estrato il jconnector nella C:, ho settato la classpath.

    ecco il file.java che ho creato per la prova di una connessione al database ma mi dice sempre che non si riesce a connettere al database? ecco il codice:

    [JAVA]
    import java.sql.*;


    public class connessione {
    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 connessione(String nomeDB) { this(nomeDB, "", ""); }

    public connessione(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 static void main(String [] args) {

    connessione a=new connessione("asta","root","");
    if(a.connetti())
    System.out.println("Connessione al database riuscita");

    else
    System.out.println("Connessione al database non riuscita");

    }
    }
    [/JAVA]
    Roberto Dungino

  2. #2
    Qualcuno mi dà una mano ? Ho visto che in origine dati ODBC non è presente quello di mysql. Poi il database l'ho creato sotto phpmyadmin, che errore ho commesso??
    Roberto Dungino

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ho visto che hai utilizzato la mia classe per la connessione al database.

    Alcune domande:
    Dove hai scompattato il JAR del Connector-J?
    Dove risiede la tua applicazione su disco?
    Come hai settato il CLASSPATH? (io solitamente non imposto MAI questa variabile per evitarmi tanti problemi...)

    Attenzione che il JAR del Connector-J lo devi scompattare all'interno della directory della tua applicazione. Quindi, all'interno della directory della tua applicazione deve esserci una sottodirectory chiamata com, all'interno della quale deve esserci una sottodirectory chiamata mysql, ecc...


    Altro suggerimento... prova a modificare il main in questo modo

    codice:
    connessione a=new connessione("asta","root","");
    if(a.connetti())
       System.out.println("Connessione al database riuscita");
    else {
       System.out.println("Connessione al database non riuscita");
       System.out.println( a.getErrore() );
    }
    così facendo riusciamo a vedere a video qual è l'errore che è stato generato.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Hai piazzato il .jar del driver jdbc nella directory "lib" dell'applicazione ?

  5. #5
    il file .jar del connector non l'ho scompattato, l'ho copiato nella directory della java home come si fà a scompattarlo ? Adesso modifico il codice come mi hai detto tu.
    Roberto Dungino

  6. #6
    mi dà errore al momento della compilazione utilizzando il metodo getErrore() ;

    [output]
    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    The method getErrore() is undefined for the type connessione
    Syntax error, insert "}" to complete ClassBody

    at connessione.main(connessione.java:73)
    Roberto Dungino

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Io solitamente non utilizzo la directory lib della JAVA HOME, ma scompatto il JAR all'interno della directory della mia applicazione (così la libreria viaggia con la mia applicazione).

    Per scompattarlo è sufficiente utilizzare WinZIP (un file .JAR è solamente un ZIP rinominato). Basta, quindi, modificare l'estensione ed il gioco è fatto. Se utilizzi WinRAR al posto di WinZIP non è nemmeno necessaria questa operazione perchè li riconosce già di per se.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Adesso mi dice connessione al database riuscita, penso che sia ok!!! Volevo chiederti alcune cose: Io devo fare una semplice applicazione in jsp che faccia un interrogazione ad un database, dove la pagina jsp deve richiamare una pagina.java, e possibile lavorare sotto eclipse per fare una pagina in jsp. Eclipse riconosce le pagine jsp? Ogni volta che faccio un nuovo progetto devo copiare il contenuto della cartella com sotto ogni applicazione che utilizza un database ?
    Roberto Dungino

  9. #9
    qualcuno mi risponde ?
    Roberto Dungino

  10. #10

    [JSP] Connessione al Dataabase

    Salve ragazzi sono un neofita di jsp sto provando la connessione al database ma caricando la pagina.jsp mi dà l'errore di generate servlet error
    ecco il codice di seguito è riportato l'output:

    [JSP]
    <%@ page language="java" import="java.sql.*" %>
    import java.sql.*;

    <%
    public class connessione {
    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 connessione(String nomeDB) { this(nomeDB, "", ""); }

    public connessione(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
    this.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;
    }


    }

    %>


    <!% connessione a=new connessione("asta","root",""); %>
    <% if(a.connetti()) %>
    <%="Connessione al database riuscita"%>

    <% else{ %>
    <%="Connessione al database non riuscita"%>
    <%=a.errore%>
    <%}%>
    [/JSP]



    [OUTPUT]
    Type Exception report

    message

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

    exception

    org.apache.jasper.JasperException: Unable to compile class for JSP

    An error occurred at line: 4 in the jsp file: /prova.jsp
    Generated servlet error:
    Illegal modifier for the local class connessione; only one of abstract or final is permitted

    An error occurred at line: 71 in the jsp file: /prova.jsp
    Generated servlet error:
    a cannot be resolved


    org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

    root cause

    org.apache.jasper.JasperException: Unable to compile class for JSP

    An error occurred at line: 4 in the jsp file: /prova.jsp
    Generated servlet error:
    Illegal modifier for the local class connessione; only one of abstract or final is permitted

    An error occurred at line: 71 in the jsp file: /prova.jsp
    Generated servlet error:
    a cannot be resolved


    org.apache.jasper.compiler.DefaultErrorHandler.jav acError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacEr ror(ErrorDispatcher.java:328)
    org.apache.jasper.compiler.JDTCompiler.generateCla ss(JDTCompiler.java:414)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:297)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:276)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:264)
    org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:303)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
    Roberto Dungino

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.