Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    [JSP+MySQL+NetBeans] Come posso connettermi al DB MySQL?

    Allora ho installato NetBeans 6 e stavo facendo un po' di esperimenti con le JSP e MySQL.
    La prima cosa che ho fatto è stato provare la connessione al DB in NetBeans stesso, allora sono andato in Servizi e mi sono connesso, le info più importanti, ovvero l'url e il driver sono:
    codice:
    Driver: com.mysql.jdbc.Driver
    Database URL: jdbc:mysql://localhost:8889/proma
    Con queste informazioni posso connettermi tranquillamente al DB MySQL di nome proma dall'IDE NetBeans.

    Ora, assodato che la connessione al DB è funzionante vorrei realizzare una JSP che mi permetta di restituirmi tutti i dati che sono nella tabella events del database proma.
    Ho scritto poche semplici istruzioni per vedere se riesco appena a connettermi al DB (senza nessuna query o resultset):
    codice:
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <%@ page language="java" import="java.sql.*" %>
    
            <%
                Connection conn = null;
    
                Class.forName("jdbc:mysql://localhost:8889/proma");
                conn = DriverManager.getConnection("com.mysql.jdbc.Driver","user","pass");
                Statement st = conn.createStatement();
            %>
        </body>
    </html>
    Ma queste poche righe di codice, mi danno un errore enorme... eccolo:
    codice:
    HTTP Status 500 -
    
    type Exception report
    
    message
    
    description The server encountered an internal error () that prevented it from fulfilling this request.
    
    exception
    
    org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 17
    
    14:         <%
    15:             Connection conn = null;
    16: 
    17:             Class.forName("jdbc:mysql://localhost:8889/proma");
    18:             conn = DriverManager.getConnection("com.mysql.jdbc.Driver","root","root");
    19:             Statement st = conn.createStatement();
    20:         %>
    
    
    Stacktrace:
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    root cause
    
    javax.servlet.ServletException: java.lang.ClassNotFoundException: jdbc:mysql://localhost:8889/proma
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    	org.apache.jsp.index_jsp._jspService(index_jsp.java:83)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    root cause
    
    java.lang.ClassNotFoundException: jdbc:mysql://localhost:8889/proma
    	java.lang.Class.forName0(Native Method)
    	java.lang.Class.forName(Class.java:164)
    	org.apache.jsp.index_jsp._jspService(index_jsp.java:71)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
    
    Apache Tomcat/6.0.14
    Dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Per esempio perché stai invertendo la connessione al database con il caricamento del driver... prova con:

    codice:
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost:8889/proma?user=nomeUtente&password=passwordUtente);
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Originariamente inviato da Andrea1979
    Per esempio perché stai invertendo la connessione al database con il caricamento del driver... prova con:

    codice:
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost:8889/proma?user=nomeUtente&password=passwordUtente);
    Sì, sì ho fatto anche questo prima di postare ma niente
    Ah l'esempio l'ho preso da qui:
    http://java.html.it/guide/lezione/80...a-un-database/
    per semplificarmi il "debug" avevo tolto il while sul result set ma non è quello il problema.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    L'errore è chairo:
    codice:
    java.lang.ClassNotFoundException: jdbc:mysql://localhost:8889/proma
    e si sistema in quella maniera. Se continua a non funzionarti, posta il nuovo errore. Se non trova il driver, vedi di importare il connector nella tua webapp oppure, se vuoi usarlo sempre e comunque in tutti i tuoi futuri progetti con tomcat 6.0, copia il/i jar nella cartella di tomcat.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Risolto. In NetBeans 6 è già presente il connector per MySQL (cioè il file JAR di cui parlavi), basta vedere dov'è questo file e nella Web Application cliccare col destro su Library e scegliere Add Jar File, per aggiungere questo connector alle librerie.

    Ora il problema sarà dove va messo questo file quando non testerò più le pagine con il tomcat bundled di NetBeans ma con uno installato ad hoc.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Visto che è una libreria che utilizzerai spesso e volentieri, la infili nella cartella lib di tomcat e sei apposto. Altrimenti dovrai metterla in WEB-INF/lib di tutte le applicazioni web che ne faranno uso .
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.