Bonjour,
je développe, une petite application en j2ee, une connexion à une base de donnée et afficher le contenu dans une page JSP:
mais à l'exécution dans le navigateur de :
http://localhost:8080/MonApplication...isteCourses.do
voici mes utils utilisés:
j'ai l'erreur suivante:* Tomcat : 6.0.18
* Eclipse : developpement Java EE 3.3.2 europa
* Struts : 1.3.10 (Full Distribution) ou (Library : pour le tutoriel, seules les librairies sont nécessaires)
* HSQLDB : 1.8.0.10
* windowsXP
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 com.developpez.rpouiller.monapplication.ListeCoursesDAO.rechercherElementsCourses(ListeCoursesDAO.java:32)
at com.developpez.rpouiller.monapplication.AfficherListeCoursesAction.execute(AfficherListeCoursesAction.java:22)
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.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
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:128)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
at java.sql.DriverManager.getDriver(DriverManager.java:253)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1143)
... 26 more
mais fichiers sont:
struts-config.xml
serveur.xml<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
<struts-config>
<!-- ========== Mapping des actions ============================== -->
<action-mappings>
<!-- Indique la correspondance entre une action sous forme d'URL (ici /AfficherListeCourses.do),
une classe (ici com.developpez.rpouiller.monapplication.AfficherListeCoursesAction) -->
<action path = "/AfficherListeCourses"
type = "com.developpez.rpouiller.monapplication.AfficherListeCoursesAction">
<forward name="succes" path="/pages/listeCourses.jsp" />
<forward name="erreur" path="/pages/erreur.jsp" />
</action>
</action-mappings>
<!-- ========== Ressources de definitions de messages =========================== -->
<message-resources parameter="Resources" />
</struts-config>
context.xml...
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
<Resource auth="Container" driverClassName="org.hsqldb.jdbcDriver"
maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/dsMaBase"
password="" type="javax.sql.DataSource" url="jdbc:hsqldb:file:C:\hsqldb\data\maBase"
username="sa" />
</GlobalNamingResources>
...
...
<ResourceLink name="jdbc/dsMonApplication" global="jdbc/dsMaBase"
type="javax.sql.DataSource" />
...
j'ai:
WEB-INF/web.xmlCopier la librairie "hsqldb.jar" depuis le zip "hsqldb_1_8_0_10.zip" dans les librairies de Tomcat ("C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib")
meri d'avance....
<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- Declaration de l'utilisation de la ressource JDBC -->
<resource-ref>
<description>Ressource JDBC de l'application</description>
<res-ref-name>jdbc/dsMonApplication</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
...
Partager