IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

Problème au lancement d'une application Struts


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 503
    Points
    503
    Par défaut Problème au lancement d'une application Struts
    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
    Développeur Java / Android.
    The Truth About Bitcoin : https://www.the-truth-about-bitcoin.com/
    In Bitcoin We Trust : https://inbitcoinwetrust.substack.com
    Retrouvez mes Apps Android : https://play.google.com/store/apps/d...01024188312025
    Tout sur le Bitcoin, la Blockchain et les Altcoins : https://www.toutsurlebitcoin.fr
    Devenez une meilleure de vous-même jour après jour : https://www.jedeviensmeilleur.fr

  2. #2
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    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
    Tu as bien vérifié que ces jars sont placés dans WEB-INF/lib ?
    Scuse me while I kiss the sky ! Jimi Hendrix

  3. #3
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Tout d'abord, si tu as une version 1.3 de Struts, il faudrait modifier en conséquence la dtd dans la balise DOCTYPE du struts-config.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <!DOCTYPE struts-config PUBLIC
    	"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
    	"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
    Ensuite, tu peux obtenir le message d'erreur suivant :
    java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter
    soit parce que le jar commons-beanutils.jar n'est pas sous WEB-INF/lib du projet, soit parce que celui qui est présent sous WEB-INF/lib n'est pas la bonne version, soit parce que ce jar est déjà présent sous Tomcat (dans le répertoire common/lib par exemple) et que ce n'est pas la bonne version.
    A toi de vérifier et de conserver celui qui est livré avec ta version de Struts.
    Modératrice Java - Struts, Servlets/JSP, ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de lancement d'une application ppc
    Par err dans le forum Services Web
    Réponses: 1
    Dernier message: 10/07/2007, 19h52
  2. Problème de filtre pour une application struts.
    Par mazizou dans le forum Struts 1
    Réponses: 5
    Dernier message: 31/03/2007, 15h54
  3. Problème de lancement d'une application comme service
    Par WELCOMSMAIL dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 29/03/2007, 15h46
  4. Réponses: 1
    Dernier message: 26/09/2006, 08h56
  5. Problème au lancement d'une application
    Par Benjam dans le forum OpenGL
    Réponses: 11
    Dernier message: 20/09/2006, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo