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 :

No action instance for path /start could be created


Sujet :

Struts 1 Java

  1. #1
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut No action instance for path /start could be created
    Bonjour,

    Je suis actuellement en train de développer une nouvelle application web, et je tombe sur le message d'erreur suivant lorsque je tente d'y accéder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    No action instance for path /start could be created
    Après plusieurs heures (pour ne pas dire jours) de recherche, je me tourne vers vous pour savoir comment résoudre ce problème en espérant que vous puissiez m'aider.

    Contexte du problème:
    J'ai un EAR qui contient plusieurs WAR (un par application). J'ai une application globale dont le but est de gérer une page de login, puis de présenter un menu listant les applications qu'il est possible de lancer. Jusqu'à maintenant je n'avais aucun soucis, sauf que je viens d'incorporer une nouvelle application dans cette liste (sous forme de nouveau projet web dynamique donc).
    Après m'être loggué, lorsque je clique pour lancer l'application, l'url suivante est appelée :

    http://bidule.truc.org:8080/AppliGen...brary/start.do

    Je me doute que le problème est lié à la configuration struts mais ne trouve toujours pas. Voici la configuration de ma nouvelle application nommée 'Library':

    Fichier web.xml
    Code xml : 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
        <servlet>
            <servlet-name>LibraryServlet</servlet-name>
            <servlet-class>org.*.*.*.gui.LibraryServlet</servlet-class>
     
            ....
     
            <init-param>
                <param-name>config</param-name>
                <param-value>/WEB-INF/properties/struts-config.xml</param-value>
            </init-param>
     
            <load-on-startup>2</load-on-startup>
         </servlet>
     
        <servlet-mapping>
            <servlet-name>LibraryServlet</servlet-name>
            <url-pattern>*.do</url-pattern>
         </servlet-mapping>
        ...

    Fichier de config struts :
    Code xml : 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
    <struts-config>
     
        <form-beans type="org.apache.struts.action.ActionFormBean">
            <form-bean name="loginForm" 	type="org.*.*.gui.form.LoginForm" />        
            <form-bean name="libraryForm" 	type="org.*.*.library.gui.form.LibraryForm" />
        </form-beans>
     
        <global-forwards type="org.apache.struts.action.ActionForward">
            <forward name="start"			path="/start.do" />
            <forward name="login"			path="/jsp/login.jsp" />
            <forward name="close" 			path="/jsp/close.jsp" />
     
            <forward name="global"			path="/jsp/library-global.jsp" />
            <forward name="detail"			path="/jsp/library-detail.jsp" />
        </global-forwards>
     
        <action-mappings>
     
    	<action type="org.epo.docarea.gui.action.VersionAction"
            	path="/version">
    	</action>
     
            <!-- START: first action -->
            <action type="org.*.*.library.gui.action.StartAction"
                  	name="loginForm"
            		path="/start"
            		validate="false">
            </action>
     
            <!-- LOGIN: in case of unvalidated session -->
            <action type="org.*.*.gui.action.LoginAction"
                	name="loginForm"
                	path="/login">
                <forward name="success" path="/start.do" />
            </action>
     
            <action type="org.*.*.library.gui.action.GlobalAction"
                	name="libraryForm"
                	path="/global"
                	scope="session"
                	parameter="action">
            </action>
     
            <action type="org.*.*.library.gui.action.DetailAction"
                	name="libraryForm"
                	path="/detail"
                	scope="session"
                	parameter="action">
            </action>  
     
        </action-mappings>
     
        <message-resources parameter="org.*.*.library.gui.ApplicationResources"/>  
     
    </struts-config>

    En gros, lorsque je clique sur une application dans mon menu, ça ouvre une nouvelle fenêtre en appelant l'url suivante : http://bidule.truc.org:8080/AppliGen...brary/start.do, et c'est là que j'ai le message d'erreur.

    Voici le code de la méthode 'execute' de ma classe d'action 'StartAction', sencée être appelé au démarrage de cette URL :

    StartAction.java :
    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
    	public ActionForward execute(ActionMapping 		theMapping,
    						ActionForm 			theForm,
    						HttpServletRequest 	theRequest,
    						HttpServletResponse theResponse) {
    												
    		// --- Measure time of execute method
    		long myTime = System.currentTimeMillis();
    
    		logger.info("[execute] Return forward "+ JSP_GLOBAL);		
    		myTime = System.currentTimeMillis() - myTime;
    		logger.warn("[execute] StartAction executed in "+((double)myTime)/1000+" s. with session id. "+theRequest.getSession().getId());
    		
    		return (theMapping.findForward(JSP_GLOBAL));
    	}
    JSP_GLOBAL redirige sur 'global'.

    PS: mes classe de formulaire et classe d'action étendent bien respectivement les classe ActionForm et DispatchAction.

    Je vous remercie d'avance pour l'aide que vous m'apporterez.

  2. #2
    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 639
    Points
    7 639
    Par défaut
    La servlet LibraryServlet hérite-t'elle bien de l'ActionServlet de Struts ?

    Peux-tu préciser quelle version de Struts tu utilises ?
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    Bonjour,

    Oui LibraryServlet étend une autre classe Sevlet générique qui elle-même étend ActionServlet.

    La version de struts utilisée est 1.2.4, mais je ne pense pas que la version y soit pour quelque chose puisque j'ai 6 autres applications qui se lance depuis ce menu et qui fonctionne bien, que j'ai d'ailleurs mise en place (il y a un moment cela dit) et dont j'ai repris la structure, l'organisation et la configuration (adaptée) pour la nouvelle application.

    Je précise aussi que je travaille sous un serveur JBoss, même si l'erreur n'a aucun rapport avec JBoss, ne sait-on jamais ^^
    Et mon IDE est éclipse.

    En tout cas merci de te pencher un peu sur mon problème

  4. #4
    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 639
    Points
    7 639
    Par défaut
    Je t'ai demandé quelle version de Struts tu utilises parce que j'ai vu que tu avais mis un attribut type dans les balises <form-beans> et <global-forwards>.
    A ma connaissance, tu n'as aucune raison de le mettre.
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    Effectivement, bonne remarque merci.
    Même si ça ne résoud pas ce problème ça élague des choses inutiles

  6. #6
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    Bon,

    A cours d'idée j'ai tout supprimé puis refait de A à Z et ça fonctionne correctement. Je n'ai pourtant rien fait de différent ni de nouveau.

    Bien que n'ayant toujours pas compris pourquoi ça affichait l'erreur la première fois je vais passer le topic en résolu... :s

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    pour ce qui auront le même problème :

    j'ai eu le même problème lorsque j'ai copier les lib struts dans le dossier
    /WEB-INF/lib manuellement, car au moment ou je valide le projet il m'affiche des erreurs qu'il ne pouvais pas trouver les fichiers genre /lib/"struts jar".

    donc j'ai téléchargé l'outil jboss tools, et j'ai créer un projet de type
    "struts project" , du coût il met automatiquement les jars necessaire pour struts j'ai copier tous le code source que j'avais fait précédemment dans le nouveau projet et voilà ça marche...

    donc, en conclusion, s'il affiche un message d'erreur pareil , c'est qu'il ne trouve pas les jars de struts..

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

Discussions similaires

  1. [WPF] Could not create an instance of type
    Par Doug_ dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 10/09/2007, 10h04
  2. No action instance for path could be created
    Par yayamo dans le forum Struts 1
    Réponses: 15
    Dernier message: 11/05/2007, 13h17
  3. No action instance for path /action could be created
    Par gentil dans le forum Struts 1
    Réponses: 20
    Dernier message: 10/04/2007, 14h54
  4. Soucis de stop / start : could not bind to port 80
    Par vivi_35 dans le forum Apache
    Réponses: 1
    Dernier message: 28/03/2007, 12h30
  5. Execution action .do - Invalid path
    Par devAd dans le forum Struts 1
    Réponses: 3
    Dernier message: 20/03/2007, 10h40

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