Bonjour,

J'utilise Tomcat 5.0.28 avec un JDK 1.4.2 et Struts 1.3.

Mon projet de test a l'arborescence suivante :


1 personne
1.1 vues
1.1.1 main.html
1.2 WEB-INF
1.2.1 struts-config.xml
1.2.2 web.xml
Les fichiers de configuration ont le contenu suivant :

- 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
 
 
 
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<!DOCTYPE web-app
	PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
	"http:///java.sun.com/dtd/web-app_2_3.dtd">
 
<web-app>
	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/struts-config.xml</param-value>
		</init-param>
	</servlet>
 
	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
 
</web-app>
- struts-config.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
 
 
 
<?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_1.dtd">
 
<struts-config>
	<action-mappings>
		<action
			path="/main"
			parameter="/vues/main.html"
			type="org.apache.struts.actions.ForwardAction"
		/>
	</action-mappings>
</struts-config>
- et le fichier basique de test HTML main.html :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 
<html>
<head>
Test Page HTML Statique depuis le controleur
</head>
<body>
Test
</body>
</html>
J'ai déployé avec succès mon application dans le manager de Tomcat.
Je lance ensuite l'url suivante : http://localhost:8080/strutspersonne/main.do

J'obtiens l'erreur suivante :

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
 
 
Etat HTTP 500 - 
 
--------------------------------------------------------------------------------
 
type Rapport d'exception
 
message 
 
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
 
exception 
 
javax.servlet.ServletException: Erreur à l'instantiation de la classe servlet org.apache.struts.action.ActionServlet
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	java.lang.Thread.run(Thread.java:534)
 
 
cause mère 
 
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
	java.lang.Class.getConstructor0(Class.java:1930)
	java.lang.Class.newInstance0(Class.java:278)
	java.lang.Class.newInstance(Class.java:261)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	java.lang.Thread.run(Thread.java:534)
 
 
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.0.28.
 
 
--------------------------------------------------------------------------------
 
Apache Tomcat/5.0.28

Cette erreur est bizarre car l'objet qu'il ne trouve pas est bien dans le classpath de l'application puisque j'ai ajouté commons-beanutils.jar à mon projet ainsi que struts.jar


Lorsque je rafraichis ma page, j'obtiens même plus le détail de l'erreur juste ça :

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
 
 
Etat HTTP 404 - Servlet action n'est pas disponible.
 
--------------------------------------------------------------------------------
 
type Rapport d'état
 
message Servlet action n'est pas disponible.
 
description La ressource demandée (Servlet action n'est pas disponible.) n'est pas disponible.
 
 
--------------------------------------------------------------------------------
 
Apache Tomcat/5.0.28
Je me doute que l'erreur doit être bête mais je ne vois vraiment pas d'où vient mon problème. Quelqu'un aurait il une idée ?

Merci d'avance

Sylvain