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 :

servlet action introuvable


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut servlet action introuvable
    Bonjour,

    Je suis en train de découvrir Struts et j'ai déjà réussi à faire quelques lignes de bases comme afficher la valeur d'un bean.
    Maintenant mon problème est au niveau des action, j'ai repris un fichier web.xml dans un tutoriel et pourtant je recois l'erreur "erreur 404 La ressource demandée (Servlet action n'est pas disponible.) n'est pas disponible." quand je soumet un formulaire

    Voila un bout de mon 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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
      <servlet>
        <servlet-name>action</servlet-name>
            <!-- Specify servlet class to use:
              - Struts1.0.x: ActionComponentServlet
              - Struts1.1:   ActionServlet
              - no Struts:   TilesServlet
              --> 
        <!-- <servlet-class>org.apache.struts.tiles.ActionComponentServlet</servlet-class>  -->  
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <!-- <servlet-class>org.apache.struts.tiles.TilesServlet</servlet-class>  -->  
     
            <!-- Tiles Definitions Factory parameter 
              Specify configuration file names. There can be several comma 
              separated file names
            -->     
        <init-param>
          <param-name>definitions-config</param-name>
          <param-value>/WEB-INF/tiles-defs.xml</param-value>
        </init-param>
     
     
            <!-- Tiles Definitions Factory parameter. 
              Specify if the definition factory is struts 1.1 module aware.
              This option is only meaningful with Struts1.1
              If true, there will be one factory per Struts module.
              If false, there will be one common factory shared by all modules.
              true : one factory per struts module
              false : one common factory for all modules
            -->     
        <init-param>
          <param-name>moduleAware</param-name>
          <param-value>true</param-value>
        </init-param>
     
            <!-- Tiles Definitions Factory parameter 
            Specify if xml parser should validate the Tiles configuration file.
            true : validate. DTD should be specified in file header.
            false : no validation
            -->     
        <init-param>
          <param-name>definitions-parser-validate</param-name>
          <param-value>true</param-value>
        </init-param>
     
          <!-- Struts configuration, if Struts is used -->
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>validate</param-name>
          <param-value>true</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>
     
     
      <!-- Action Servlet Mapping -->
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    et mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html:form action="/editLigne" focus="username">
        name : <html:text property="name"/> <br>
        forname : <html:password property="forname"/>
        <html:submit property="submit" value="Submit"/>
    </html:form>
    est ce que vous voyez un problème ?

  2. #2
    Expert confirmé

    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
    Par défaut
    Tout d'abord, simplifie ton web.xml comme ceci :
    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
     
    <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>
        <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>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    </web-app>
    Ensuite, dans le tag html:form, tu as mis username dans l'attribut focus.
    Hors, tu n'as pas de propriétés username dans ton formulaire.
    Remplace-le par name.

    Et enfin, comment as-tu défini l'Action de path /editLigne dans le struts-config.xml ?

  3. #3
    Membre éprouvé Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut
    Citation Envoyé par c_nvy
    Tout d'abord, simplifie ton web.xml comme ceci :
    c'est fait, ça fait tout de suite plus clair
    Citation Envoyé par c_nvy
    Ensuite, dans le tag html:form, tu as mis username dans l'attribut focus.
    Hors, tu n'as pas de propriétés username dans ton formulaire.
    Remplace-le par name.
    attribut détruit, je n'en ai pas besoin pour le moment

    même avec ça j'ai encore le message d'erreur

    Citation Envoyé par c_nvy
    Et enfin, comment as-tu défini l'Action de path /editLigne dans le struts-config.xml ?
    voila le formulaire (je n'avais pas envie de créer ma classe pour ces tests)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       <form-beans>
            <form-bean name="editLigneForm" type="org.apache.struts.action.DynaActionForm">
                <form-property name="name" type="java.lang.String"/>
                <form-property name="forname" type="java.lang.String"/>
            </form-bean>
        </form-beans>
    et là l'action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            <action path="/editLigne" type="com.test.ListeAction" 
                name="editLigneForm" scope="request">
                <forward name="ok" path="/liste.jsp" redirect="true"/>
                <forward name="ok2" path="/edit.jsp" redirect="true"/>
            </action>
    j'ai aussi nettoyé le fichier struts-config.xml mais là je me retrouve avec une page blanche

  4. #4
    Membre éprouvé Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut
    j'ai essayé de mettre la ligne suivante dans "struts-config" mais j'ai toujours la page blanche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <controller
        processorClass="org.apache.struts.action.RequestProcessor"/>
    je précise que je vois l'url "http://localhost:8080/struts/editLigne.do" donc ça a l'air bon de ce coté

  5. #5
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Par défaut
    * Vérifie que ton action hérite bien de la classe Action de struts
    * Vérifie que les fichiers jar appartenant à struts sont bien présents dans le classpath et envoyés sur le serveur (répertoire web-inf/lib sous eclipse il me semble)

    J'ai pas trop le temps de détailler les fichiers que tu as fournis, mais lorsque j'ai eu ce probleme, il s'agissait systématiquement d'une de ces deux erreurs!

  6. #6
    Membre éprouvé Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut
    Citation Envoyé par starn2000
    * Vérifie que les fichiers jar appartenant à struts sont bien présents dans le classpath et envoyés sur le serveur (répertoire web-inf/lib sous eclipse il me semble)
    je n'utilise pas Eclipse, je compile à l'arrache (avec Ant quand même)
    j'ai seulement mis le fichier struts.jar, est ce qu'il y a d'autre fichiers ?
    pour le reste je verrais ça ce soir merci pour tes remarques

    PS : je me suis fait un flash-back dans ma tête et je me rappelle que pour la classe d'action j'ai fait une copie du fichier que j'ai utilisé avec JSF donc c'est presque impossible qu'elle hérite de Action

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

Discussions similaires

  1. Etat HTTP 404 - Servlet action n'est pas disponible.???
    Par iftolotfi dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 05/05/2006, 14h44
  2. [servlet] Action suite à accès sur chemin variable ?
    Par joseph_p dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 24/03/2006, 09h34
  3. [Servlet action n'est pas disponible]
    Par JauB dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/11/2005, 09h23
  4. [Eclipse][Struts][Tomcat] Erreur Http 503 La servlet action.
    Par minique dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 20/09/2004, 17h44
  5. [Struts][Débutant]Servlet Action non dispo ?
    Par Ho(c)ine. dans le forum Struts 1
    Réponses: 7
    Dernier message: 09/04/2004, 08h06

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