bonsoir,

j'ai crée une petite application de connexion à la base donnée Mysql, avec struts2 et Eclipse mais voici l'erreur que reçoit quand le lance tomcat :


Infos: Starting Servlet Engine: Apache Tomcat/7.0.23
récupération du ServletContextorg.apache.catalina.core.ApplicationContextFacade@45c61d
récupération de la dataSourceJNDInull
déc. 15, 2011 7:17:38 PM org.apache.catalina.core.StandardContext listenerStart
Grave: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) services.DatasourceListener
java.lang.NullPointerException
at javax.naming.InitialContext.getURLScheme(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at services.DatasourceListener.contextInitialized(DatasourceListener.java:27)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1525)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1515)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

déc. 15, 2011 7:17:38 PM org.apache.catalina.core.StandardContext startInternal
Grave: Error listenerStart
déc. 15, 2011 7:17:38 PM org.apache.catalina.core.StandardContext startInternal
Grave: Erreur de démarrage du contexte [/learningFrench] suite aux erreurs précédentes
déc. 15, 2011 7:17:38 PM org.apache.coyote.AbstractProtocol start
Infos: Starting ProtocolHandler ["http-bio-8080"]
déc. 15, 2011 7:17:38 PM org.apache.coyote.AbstractProtocol start
Infos: Starting ProtocolHandler ["ajp-bio-8009"]
déc. 15, 2011 7:17:38 PM org.apache.catalina.startup.Catalina start
Infos: Server startup in 557 ms.

Et voici mon fichier context.xml que j'ai placé sous le dossier /META-INF :

<Context docBase="learningFrench" path="/learningFrench" reloadable="true" source="org.eclipse.jst.jee.server:learningFrench" >


<Resource name="jdbc/eleves"

auth="Container"
type="javax.sql.DataSource"
username="user"
password="motdpass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/eleves"
maxActive="20"
maxIdle="10"
validationQuery="SELECT 1" />

</Context>

Et voici le fichier web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlnssi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>learningFrench</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>

</welcome-file-list>


<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
<listener-class>services.DatasourceListener</listener-class>
</listener>

<resource-ref>
<description>Connexion a la base de donnees MySQL</description>
<res-ref-name>jdbcMysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

<context-param>
<param-name>datasource</param-name>
<param-value>java:/comp/env/jdbc/eleves</param-value>
</context-param>
</web-app>

Merci de votre aide.