Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    51

    Driver jdbc - mysql-connector-java-5.1.5

    Ciao a tutti, sto cercando di far parlare la mia applicazione con DBMS MySql. Sto utilizzando Tomcat 6 come application Server. Per prima cosa

    1. ho scaricato e il driver mysql-connector-java-5.1.5 e scompattato sotto C:\apache-tomcat-6.0.26\lib

    2. ho settato la variabile d'ambiente CLASSPATH settandola al valore C:\apache-tomcat-6.0.26\lib per rendere "visibile" il driver ai programmi java

    3. ho configurato il web.xml dell' applicazione come segue:
    codice:
        <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/DB</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
         </resource-ref>
    4. ho configurato il context.xml di Tomcat come segue:
    codice:
      <Context>
       
          <Resource name="jdbc/DB"
                auth="Container"
                type="javax.sql.DataSource"
                username="root"  
                password="artemska"
                driverClassName="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/azienda"
                maxActive="10"
    	        maxWait="5000"/>
          
       </Context>
    5. Dentro la Action richiamo il dataSource in questo modo:
    codice:
    Context context = new InitialContext();
    			
    			ds = (DataSource) context.lookup("java:comp/env/jdbc/DB");
    Quando runno l'applicazione viene fuori il seguente errore:
    codice:
    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
    	at crista.dbAction.execute(dbAction.java:40)
    	at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
    	at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
    	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NullPointerException
    	at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(Unknown Source)
    	at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(Unknown Source)
    	at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(Unknown Source)
    	at java.sql.DriverManager.getDriver(Unknown Source)
    	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1143)
    	... 25 more
    Qualcuno mi aiuta??grazie!!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    Ciao
    per il punto 4, mi sa quelle istruzioni vanno nel context.xml della tua web application.
    Il datasource in questo modo sarà "visibile" solo da questa applicazione.
    tomcat 6.016
    netbeans 6.1

  3. #3
    Utilizzi Eclipse come IDE? Se si, io ho avuto lo stesso problema che sembrerebbe essere il seguente. Quando crei un nuovo application server sotto Eclipse lui prende la configurazione attuale di tale application server per cui se successivamente modifichi il context aggiungendo ad esempio un datasource eclipse non vede la modifica. Non ho avuto tempo per effettuare delle prove, ma la soluzione più immediata potrebbe essere quella di eliminare l'application server sotto Eclipse e ricrearlo. A me così funziona.
    Inoltre l'indicazione fornitati da dardo è corretta, ma sotto Eclipse non funziona. Quando crei un nuovo application server eclipse prende solo la configurazione principale.

    P.S.
    Ripeto che non ho avuto tempo per effettuare delle prove più approfondite, magari c'è modo di configurare Eclipse affinchè lavori correttamente con le configurazioni degli application server.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    no.
    per il web o sempre usato netbeans. Ha il suo tomcat intergato e non perdo giornate per configurarlo
    in netbeans o la cartella configuration file dove o il materiale.
    Puoi provare a vedere dove fa il deploy dell'applicazione. Io ad esempio ho la cartella web w la build. ricompilando il progetto prende da web (oltre a src) per le classi e mette tutto in build.
    tomcat 6.016
    netbeans 6.1

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    51
    1.Ciao dardo, ho fatto come mi hai detto ed ho aggiunto sotto META-INF della mia web application il file context.xml. Ho un piccolo dubbio, su Eclipse, in corrispondenza dell'alberatura dei vari project c'è la cartella servers con la configurazione di Tomcat.Questa contiene vari file di configurazione di Tomcat, tra cui il context.xml. cosa cambia se configuro questo context piuttosto che crearne uno sotto la mia applicazione?

    2.Ciao Satifal, ho seguito il tuo suggerimento ma credo d'aver fatto qualche danno....ho eliminato su Eclipse la vecchia configurazione di Tomcat e ne ho creata una nuova...ora, il problema è che se lancio uno dei miei vecchi project, il server lancia un'eccezione con i seguenti errori:
    codice:
    Could not publish server configuration for Tomcat v6.0 Server at localhost.
      Multiple Contexts have a path of "/ArrayListCheckbox".
      Multiple Contexts have a path of "/TestDB".
      Multiple Contexts have a path of "/Multibox".
    codice:
    Two or more Web modules defined in the configuration have the same context root (/ArrayListCheckbox). To start this server you will need to remove the duplicate(s).
    Come risolvo questo problema?Se siete a Roma vi offro un caffè Ciao e grazie

  6. #6
    Non so esattamente le operazioni che hai effettuato per cancellare e ripristinare il server. Io non ho avuto problemi. Comunque sembra che per qualche motivo si sia corrotto il file server.xml. Le configurazioni dei server sotto eclipse le trovi all'interno del workspace nella cartella ".metadata\.plugins\org.eclipse.wst.server.core\tm p0\conf". Il valore numerico dopo tmp dipende dal numero di server configurato. Sotto il percorso indicato trovi il file server.xml. In fondo a tale file trovi una serie di elementi "Context" a seconda delle applicazioni deployate sotto l'application server. Probabilmente vi sono dei context uguali ripetuti più volte. Prova a fare un controllo.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    Non ho mai provato a modificare quel context. penso appartenga alla pagina iniziale del tomcat comunque. Una ultima nota:
    si può sempre configurare il datasource su server.xml dentro la cartella conf di tomcat e poi richiamarlo dal context dell'applicazione. in questo caso il data source può essere usato da tutte le webapp di tomcat. Cambia un pò la sintassi da inserire nel context. Se hai bisogno di un esembio devo spulciare su delle vecchie applicazioni che girano dul tomcat 5.0.28
    tomcat 6.016
    netbeans 6.1

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.