Bonjour,

j'utilise Eclipse Indigo 3.7, apache Tomcat 7, SpringMVC 2.5.6, JDK1.7. Je suis en train de faire le tutoriel qui se trouve ici.
A la compilation de mon projet, j'ai le message d'erreurs suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
nov. 22, 2011 7:48:15 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\QuickTime\QTSystem\;C:\MinGW\bin\;C:\MinGW\MSYS\1.0\local\bin\;C:\MinGW\MSYS\1.0\bin\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Eclipse\eclipse;;.
    nov. 22, 2011 7:48:16 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:SpringMVC' did not find a matching property.
    nov. 22, 2011 7:48:16 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8080"]
    nov. 22, 2011 7:48:16 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
    nov. 22, 2011 7:48:16 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 571 ms
    nov. 22, 2011 7:48:16 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    nov. 22, 2011 7:48:16 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.21
    nov. 22, 2011 7:48:16 PM org.apache.catalina.core.ApplicationContext log
    INFO: Set web app root system property: 'webapp.root' = [C:\Users\cProg\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\SpringMVC\]
    nov. 22, 2011 7:48:16 PM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing log4j from [C:\Users\cProg\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\SpringMVC\WEB-INF\log4j.xml]
    nov. 22, 2011 7:48:16 PM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring root WebApplicationContext
    nov. 22, 2011 7:48:17 PM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring FrameworkServlet 'springapp'
    nov. 22, 2011 7:48:17 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-bio-8080"]
    nov. 22, 2011 7:48:17 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-bio-8009"]
    nov. 22, 2011 7:48:17 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 1653 ms
Voici les librairies que j'ai inclut dans le projet (Java Build path->Libraries->add external jar)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
-jakarta-commons/commons-logging.jar
-mysql-connector-java-5.1.18
-j2ee/jstl.jar
-log4j/log4j-1.2.14.jar
-jakarta-taglibs/standard.jar
-dist/spring.jar
-dist/modules/spring-webmvc.jar
-spring-web.jar
Les 4 fichiers .xml du projet sont:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
-applicationContext.xml
-web.xml
-springapp-servlet.xml
-log4j.xml
Leur code source respectif est:

-applicationContext.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
<!-- The Dao class -->
<bean id="studentDao" class="com.oyejava.springmvc.StudentJdbcDao">
	<property name="simpleJdbcTemplate" ref="jdbcTemplate" />
</bean>
 
<!-- Template class to access JDBC code -->
<bean id="jdbcTemplate"
	class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
	<constructor-arg ref="dataSource" />
</bean>
 
<!-- Configuration for the data source -->
<bean id="dataSource"
	class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
	<property name="driverClassName" value="com.mysql.jdbc.Driver" />
	<!-- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />-->
	<property name="url" value="jdbc:mysql://localhost:3306" />
	<!-- <property name="url" value="jdbc:hsqldb:hsql://localhost" />-->
	<property name="username" value="root" />
	<property name="password" value="" />
</bean>
</beans>
-log4j.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
	<!-- Appenders -->
	<appender name="console" class="org.apache.log4j.ConsoleAppender">
		<param name="Threshold" value="info" />
		<param name="Target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{ABSOLUTE} [%t] %-5p %c{1} - %m%n" />
		</layout>
	</appender>
	<appender name="rolling-file" class="org.apache.log4j.RollingFileAppender">
		<param name="file" value="${catalina.home}/logs/JMEAR.log" />
		<param name="MaxFileSize" value="10KB" />
		<!-- Keep one backup file -->
		<param name="MaxBackupIndex" value="4" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d [%t] %-5p %l - %m%n" />
		</layout>
	</appender>
 
	<logger name="org.springframework">
        <level value="warn"/>
    </logger>
 
    <!-- 
         everything of spring was set to "info" but for class 
         PropertyEditorRegistrySupport we want "debug" logging 
    -->
    <logger name="org.springframework.beans.PropertyEditorRegistrySupport">
        <level value="info"/>
    </logger>
 
    <logger name="org.springframework.flex.samples.*">
        <level value="info"/>
    </logger>
	<root>
		<priority value="info" />
		<!--<appender-ref ref="console" />
		-->
		<appender-ref ref="rolling-file" />
	</root>
</log4j:configuration>
-springapp-servlet.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
	<bean id="messageSource"
		class="org.springframework.context.support.ResourceBundleMessageSource">
		<property name="basename">
			<value>messages</value>
		</property>
	</bean>
 
	<bean id="studentListController"
		class="com.oyejava.springmvc.StudentListController">
		<property name="studentDao" ref="studentDao" />
	</bean>
 
	<!-- command class and command name are used to retrieve and set the 
	    value as name value pair in HttpRequest and Response. The form view
	    tells that when the request comes for this Controller than which
	    form to display in which user input can be taken. -->
 
	<bean id="studentCreateController"
		class="com.oyejava.springmvc.StudentCreateController">
		<property name="studentDao" ref="studentDao" />
		<property name="formView" value="createStudent" />
		<property name="commandName" value="student" />
		<property name="commandClass" value="com.oyejava.springmvc.Student" />
		<property name="validator">
			<bean class="com.oyejava.springmvc.StudentValidator" />
		</property>
	</bean>
 
	<bean id="loggingInterceptor"
		class="com.oyejava.springmvc.LoggingInterceptor" />
 
	<bean id="simpleUrlMapping"
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="interceptors">
			<list>
				<ref local="loggingInterceptor" />
			</list>
		</property>
		<property name="mappings">
			<props>
				<prop key="/studentList.htm">
					studentListController
				</prop>
				<prop key="/createStudent.htm">
					studentCreateController
				</prop>
			</props>
		</property>
	</bean>
 
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/jsp/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>
 
</beans>
-web.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="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>SpringMVC</display-name>
 
	<!-- log4j configuration in web.xml -->
		<context-param>
			<param-name>log4jConfigLocation</param-name>
			<param-value>WEB-INF/log4j.xml</param-value>
		</context-param>
		<listener>
			<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
		</listener>
	<!-- /log4j configuration in web.xml END -->
 
	<!-- The parameter tells about the location of configuration XML. Usually
	all the data access beans and service layer beans are kept here. You can register
	more than one XML here. -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>WEB-INF/applicationContext.xml</param-value>
	</context-param>
 
	<!-- The listener is reponsible for building the spring container. It looks for
		all configuration XML as defined by parameter contextConfigLocation and also looks 
		for a configuration which is named as Dispatch Servlet name. In this case it will
		be named as springapp-servlet.xml -->
	<listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>
 
	<!-- Dispatcher Servlet which traps all the request targeted for Spring MVC -->
	<servlet>
		<servlet-name>springapp</servlet-name>
		<servlet-class>
			org.springframework.web.servlet.DispatcherServlet
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
 
	<!-- Mapping for the request. It can be anything -->
	<servlet-mapping>
		<servlet-name>springapp</servlet-name>
		<url-pattern>*.htm</url-pattern>
	</servlet-mapping>
</web-app>
Comment résoudre ce problème? Merci beaucoup.