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 :

Debutant Struts Problem erreurs


Sujet :

Struts 1 Java

  1. #1
    Membre du Club Avatar de am.adnane
    Inscrit en
    Février 2004
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 85
    Points : 56
    Points
    56
    Par défaut Debutant Struts Problem erreurs
    Bonjour!
    Debutant en Strus,je suis entraine de realiser un petit exemple de struts qui se trouve dans le lien suivant de Jmdoudoux : http://jmdoudoux.developpez.com/cours/developpons/java/

    il me donne toujour les erreurs suivantes:
    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: Cannot find ActionMappings or ActionFormBeans collection
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:86)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


    cause mère

    javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:711)
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:419)
    org.apache.jsp.index_jsp._jspx_meth_html_form_0(index_jsp.java:152)
    org.apache.jsp.index_jsp._jspx_meth_html_html_0(index_jsp.java:113)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:77)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


    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
    si vous savez la solution ,dit le moi svp en plus vite possible (merci d'avance).
    ==> ==>

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Quelle est ta version de Struts, postes nous le struts-config.xml

  3. #3
    Membre du Club Avatar de am.adnane
    Inscrit en
    Février 2004
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 85
    Points : 56
    Points
    56
    Par défaut
    j'ai travaiiler avec cette bibl jakarta-struts-1.2.4-lib.zip.,alors version 1.2
    struts−config.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
    <?xml version="1.0" encoding="UTF-8"?>
    <struts-config>
    	<form-beans>
    		<form-bean name="loginForm"
    			type="com.jmd.test.struts.data.LoginForm" />
    	</form-beans>
    	<action-mappings>
    		<action path="/main" parameter="/index.jsp"
    			type="org.apache.struts.actions.ForwardAction"/>
    		<action path="/login" parameter="" input="/index.jsp"
    			scope="request" name="loginForm"
    			type="com.jmd.test.struts.controleur.LoginAction">
    			<forward name="succes" path="/accueil.jsp" redirect="false" />
    			<forward name="echec" path="/index.jsp" redirect="false" />
    		</action>
    	</action-mappings>
    </struts-config>
    ==> ==>

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Tu as vérifié ton web.xml ?
    Quels sont les jars que tu as dans WEB-INF/lib ?

  5. #5
    Membre du Club Avatar de am.adnane
    Inscrit en
    Février 2004
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 85
    Points : 56
    Points
    56
    Par défaut
    Fichier web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlnssi="http://www.w3.org/2001/XMLSchema-instance" version="2.4">
    <display-name>Mon application Struts de tests</display-name>
    <!-- Servlet controleur de Struts -->
    <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>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <!-- Mapping des url avec la servlet -->
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <!-- page d'accueil de l'application -->
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <jsp-config>
    <!-- Descripteur des bibliotheques personnalisees de Struts -->
    <taglib>
    <taglib-uri>/struts-bean</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/struts-html</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/struts-logic</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/struts-nested</taglib-uri>
    <taglib-location>
    /WEB-INF/struts-nested.tld
    </taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/struts-tiles</taglib-uri>
    <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
    </taglib>
    </jsp-config>
    </web-app>

    Les lib :
    commons-beanutils.jar
    commons-collection.jar
    commons-digester.jar
    commons-fileupload
    commons-logging.jar
    commons-validator.jar
    jakarta-oro.jar
    struts.jar


    index.jsp
    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
     
    <%@ page language="java"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <html:html locale="true">
    <head>
    <title>Authentification</title>
    <html:base />
    </head>
    <body bgcolor="white">
    <html:form action="/login">
    	<table border="0" align="center">
    		<tr>
    			<td align="right">Utilisateur :</td>
    			<td align="left"><html:text property="nomUtilisateur" size="20"
    				maxlength="20" /></td>
    		</tr>
    		<tr>
    			<td align="right">Mot de Passe :</td>
    			<td align="left"><html:password property="mdpUtilisateur"
    				size="20" maxlength="20" redisplay="false" /></td>
    		</tr>
    		<tr>
    			<td align="right"><html:submit property="submit" value="Submit" />
    			</td>
    			<td align="left"><html:reset /></td>
    		</tr>
    	</table>
    </html:form>
    </body>
    </html:html>
    accueil.jsp
    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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    	pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html locale="true">
    <head>
    <title>Accueil</title>
    <html:base />
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    </head>
    <body bgcolor="white">
    <h1>Bienvenue <bean:write name="loginForm"
    	property="nomUtilisateur" /></h1>
    </body>
    </html:html>

    LoginAction.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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    package com.jmd.test.struts.controleur;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import com.jmd.test.struts.data.LoginForm;
     
    public final class LoginAction extends Action {
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest req, HttpServletResponse res) throws Exception {
    		String resultat = null;
    		String nomUtilisateur = ((LoginForm) form).getNomUtilisateur();
    		String mdpUtilisateur = ((LoginForm) form).getMdpUtilisateur();
    		if (nomUtilisateur.equals("xyz") && mdpUtilisateur.equals("xyz")) {
    			resultat = "succes";
    		} else {
    			resultat = "echec";
    		}
    		return mapping.findForward(resultat);
    	}
    }

    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
     
    package com.jmd.test.struts.data;
     
    import org.apache.struts.action.*;
    import javax.servlet.http.HttpServletRequest;
     
    public class LoginForm extends ActionForm {
     
    	String nomUtilisateur;
     
    	String mdpUtilisateur;
     
    	public String getMdpUtilisateur() {
    		return mdpUtilisateur;
    	}
     
    	public void setMdpUtilisateur(String mdpUtilisateur) {
    		this.mdpUtilisateur = mdpUtilisateur;
    	}
     
    	public String getNomUtilisateur() {
    		return nomUtilisateur;
    	}
     
    	public void setNomUtilisateur(String nomUtilisateur) {
    		this.nomUtilisateur = nomUtilisateur;
    	}
     
    	public ActionErrors validate(ActionMapping mapping,
    			HttpServletRequest request) {
    		ActionErrors errors = new ActionErrors();
     
    		return errors;
    	}
     
    	public void reset(ActionMapping mapping, HttpServletRequest request) {
    		this.mdpUtilisateur = null;
    		this.nomUtilisateur = null;
    	}
    }


    Si vous avez petit projet(exemple) déjà fonctionnaire.
    Vous pouvez de me l'envoyer ,pour bien comprendre cette FramWork
    Cordialement!
    ==> ==>

  6. #6
    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
    Tu as oublié de définir le controller dans le struts-config.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <controller processorClass="org.apache.struts.action.RequestProcessor"/>
    il faut mettre cette balise après la balise action-mappings.
    Modératrice Java - Struts, Servlets/JSP, ...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 67
    Points : 40
    Points
    40
    Par défaut
    Bonsoir.

    je ne comprends pas a quoi te sert ta premiere action

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <action path="/main" parameter="/index.jsp"
    			type="org.apache.struts.actions.ForwardAction"/>
    si elle ne te sert qu'a faire une redirection je t'aurais plutot conseiller de fair

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <action path="/main"
    		 	type="tonPakage.AccueilAction">
    		 	<forward name="accueil" path="/index.jsp" />
    		</action>
    et dans ton action d'avoir quelque chose de ce type:

    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
     
    package tonPakage;
     
    import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
     
     
    public class AccueilAction extends Action {
     
    	public ActionForward execute(ActionMapping am, ActionForm af,
    								 HttpServletRequest request,
    								 HttpServletResponse response)
    								 throws Exception {
     
    		// Permet d'accéder à la session
    		HttpSession session = request.getSession();
     
    		// Permet d'acceder au context de l'application
    		ServletContext context = session.getServletContext();
     
    		//retour
    		return am.findForward("accueil");
    	}
    }
    -je ne sais pas si ton erreur vient de la mais dans ton erreur il est indiqué qu'il ne trouve pas d'action mapping

    -Autre conseil (meme si ton erreur ne vient pa de la).
    verifie bien que tes jar sont bien presents dans le repertoire lib de ta webapp
    et verifie bien que tes fichiers tld sont bien dans WEB-INF

    et dis toi qu'une action struts retourne un ActionForward
    donc tu auras souvent une action du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <action path="/main"
    		 	type="tonPakage.AccueilAction">
    		 	<forward name="accueil" path="/index.jsp" />
    		</action>
    bon courage

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Citation Envoyé par mazizou
    Bonsoir.

    je ne comprends pas a quoi te sert ta premiere action

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <action path="/main" parameter="/index.jsp"
    			type="org.apache.struts.actions.ForwardAction"/>
    si elle ne te sert qu'a faire une redirection je t'aurais plutot conseiller de fair

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <action path="/main"
    		 	type="tonPakage.AccueilAction">
    		 	<forward name="accueil" path="/index.jsp" />
    		</action>
    et dans ton action d'avoir quelque chose de ce type:

    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
     
    package tonPakage;
     
    import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
     
     
    public class AccueilAction extends Action {
     
    	public ActionForward execute(ActionMapping am, ActionForm af,
    								 HttpServletRequest request,
    								 HttpServletResponse response)
    								 throws Exception {
     
    		// Permet d'accéder à la session
    		HttpSession session = request.getSession();
     
    		// Permet d'acceder au context de l'application
    		ServletContext context = session.getServletContext();
     
    		//retour
    		return am.findForward("accueil");
    	}
    }
    Je ne suis pas d'accord, cette action est prévue pour ca (simplement rediriger vers une jsp sans avoir à écrire une Action "vide"), cf. http://struts.apache.org/1.2.7/api/o...ardAction.html

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 67
    Points : 40
    Points
    40
    Par défaut
    Bonsoir.

    Mea culpa , je ne savais pas qu'une tel action existait, c'est bon a savoir.

    Merci

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

Discussions similaires

  1. [Debutant] [struts] Probleme avec hibernate
    Par totonin dans le forum Hibernate
    Réponses: 50
    Dernier message: 26/06/2009, 13h15
  2. Réponses: 0
    Dernier message: 08/04/2009, 14h48
  3. [Debutant][Struts] Pb de forward dans jsp
    Par muim dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/02/2004, 11h02
  4. [debutant][struts] xml.build
    Par riven dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 17/09/2003, 06h53
  5. [debutant]servlet probleme de port
    Par noOneIsInnocent dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 04/09/2003, 16h33

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