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 :

page d'authentification d'une application Struts


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 173
    Points : 96
    Points
    96
    Par défaut page d'authentification d'une application Struts
    Salut la liste,

    J'ai une application qui a 3 pages jsp: login.jsp, failure.jsp et success.jsp.
    login.jsp est la page d'accueil de l'application, en cas d'authenfication correcte success.jsp est affiché, dans le cas contraire c'est failure.jsp.

    login.jsp
    failure.jsp
    success.jsp
    A l'éxécution, la page login.jsp s'affiche correctement seulement lorsqu'on se connecte, j'ai l'erreur 404, je ne comprends pourquoi ?

    le fichier 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?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_3.dtd">
     
     
    <struts-config>
     
       <!--  =================== Configuration des beans ==================================== -->
       <form-beans>
          <form-bean name="LoginForm" type="com.serli.login.action.LoginForm">
          </form-bean>
       </form-beans>
     
        <!--  =================== Configuration des mappings ==================================== -->
        <action-mappings>
           <action
    	        path="/login"
    	        type="com.serli.login.action.LoginAction"
    	        name="LoginForm"
    	        scope="request"
    	        validate="true"
    	        input="/pages/login.jsp">
    	        <forward name="success" path="/pages/success.jsp"/>
    	        <forward name="failure" path="/pages/failure.jsp"/>
    	   </action>
        </action-mappings>
     
     <!-- =========================== Ressources de définition de messages ============= -->
       <message-resources parameter="Resources" />
     
    </struts-config>
    le fichier 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
    <?xml version="1.0" ?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
             id="WebApp_ID" version="2.5">
      <display-name>com.serli.login</display-name>
     
      <!--  ==========================  Page d'accueil =========================================== -->
      <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>
     
      <!--  ==========================  Configuration de l'action servlet ========================= -->
      <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>
            <load-on-startup>1</load-on-startup>
      </servlet>
    </web-app>
    La classe LoginAction
    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
     
    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;
     
    public class LoginAction extends Action {
     
    public ActionForward execute ( ActionMapping mapping, ActionForm form,
                                   HttpServletRequest request, HttpServletResponse response) throws Exception {
     
    LoginForm loginform = (LoginForm) form;
    if (loginform.getUsername().equalsIgnoreCase("username") && loginform.getPassword().equals("password")) {
    // we are in
         return mapping.findForward("success");
    } else {
    // not allowed
         return mapping.findForward("failure");
    }
    }
    }
    La classe LoginForm
    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
    import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.*;
     
    public class LoginForm extends ActionForm
    {
        /**
             * 
             */
    	private static final long serialVersionUID = 1L;
    	private String action="add";
        private String username=null; 
        private String password=null;
       private String usertype=null;
     
    public void setAction(String action){
        this.action=action;
    }
     
    public String getAction(){
       return this.action;
    }
     
    public void setUsername(String username){
        this.username=username;
    }
     
    public String getUsername(){
        return this.username;
    }
     
    public void setPassword(String password){
       this.password=password;
    }
     
    public String getPassword(){
       return this.password;
    }
     
    public void setUsertype(String usertype){
       this.usertype=usertype;
    }
     
    public String getUsertype(){
       return this.usertype;
    }
     
    public void reset(ActionMapping mapping,HttpServletRequest request){
     
       this.username=null;
       this.password=null;
       this.usertype=null;
       this.action="add";
     
    }
    Quelqu'un aurait une idée ?
    Merci beaucoup d'avance.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Points : 28
    Points
    28
    Par défaut
    Peux tu montrer aussi le code de login.jsp?

  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
    Il manque le mapping de l'ActionServlet de Struts dans le web.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    De plus, dans le web.xml, il faut mettre la balise <welcome-file-list> après les balises <servlet> et <servlet-mapping>.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 173
    Points : 96
    Points
    96
    Par défaut
    Citation Envoyé par ashitaka42 Voir le message
    Peux tu montrer aussi le code de login.jsp?
    Salut,

    login.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
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %>
    <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>
    <html>
    <head>
    <title><bean:message key="welcome.title"/></title>
     
    <script language="javascript">
    function validate(objForm){
     
    if(objForm.username.value.length==0){
    alert("Please enter UserID!");
    objForm.username.focus();
    return false;
    }
     
    if(objForm.password.value.length==0){
    alert("Please enter Password!");
    objForm.password.focus();
    return false;
    }
     
    if(objForm.usertype.selectedIndex == 0 ){
     
    alert("Please Select User Type!");
    objForm.usertype.focus();
    return false;
    }
     
    return true;
    }
    </script>
     
    </head>
     
    <body bgcolor="white">
     
     
    <form action="/login" method="post" onsubmit="return validate(this);">
    <center>
     
    <table width="400" border="1" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td>
    <table border="0" cellspacing="2" cellpadding="1" width="100%" >
    <tr bgcolor="#eaeac8">
    <td align="left" colspan="2"><font size="5">User Login</font></td>
    </tr> 
     
    <tr><td colspan="2"><p>&nbsp;</p></td></tr>
     
    <tr align="center">
    <td align="right">User ID:</td> 
    <td><input name="username" type="text" size="30" maxlength="30"/></td>
    </tr> 
     
    <tr align="center">
    <td align="right">Password:</td> 
    <td><input name="password" type="text" size="30" maxlength="30"/></td>
    </tr> 
     
    <tr align="center">
    <td align="right">Login As:</td> 
    <td> 
    <select name="usertype">
    <option>---------------Login As---------------</option>
    <option value="Buyer">Buyer</option>
    <option value="Seller">Seller</option>
    <option value="Guest">Guest</option>
    </select>
    </td>
    </tr> 
     
    <tr><td colspan="2"><p>&nbsp;</p></td></tr>
     
    <tr>
    <td align="center" colspan="2"><html:submit>Login Now !</html:submit></td>
    </tr> 
    </table>
    </td>
    </tr>
    </table>
     
    </center>
     
     
    </form>
    <body>
    </html>
    le 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
    <?xml version="1.0" ?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
             id="WebApp_ID" version="2.5">
      <display-name>com.serli.login</display-name>
     
     
      <!--  ==========================  Configuration de l'action servlet ========================= -->
      <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>
            <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
      			<servlet-name>action</servlet-name>
      			<url-pattern>*.do</url-pattern>
     </servlet-mapping>
     
       <!--  ==========================  Page d'accueil =========================================== -->
      <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>
     
    </web-app>
    Merci d'avance pour votre aide.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 173
    Points : 96
    Points
    96
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Il manque le mapping de l'ActionServlet de Struts dans le web.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    De plus, dans le web.xml, il faut mettre la balise <welcome-file-list> après les balises <servlet> et <servlet-mapping>.
    Salut,

    J'ai modifié le web.xml et l'erreur 404 persiste.

    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
    <?xml version="1.0" ?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
             id="WebApp_ID" version="2.5">
      <display-name>com.serli.login</display-name>
     
     
      <!--  ==========================  Configuration de l'action servlet ========================= -->
      <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>
            <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
      			<servlet-name>action</servlet-name>
      			<url-pattern>*.do</url-pattern>
     </servlet-mapping>
     
       <!--  ==========================  Page d'accueil =========================================== -->
      <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>
     
    </web-app>
    Merci beaucoup pour votre aide.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 28
    Points
    28
    Par défaut
    ton fichier web.xml il manque .
    tu doit changer l'en tête par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="UTF-8"?>

  7. #7
    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
    Pour que cela fonctionne correctement, il faut utiliser les tags Struts dans la jsp.
    Donc, remplace la balise form par le tag html:form, les balises input de type text par des tags html:text et les balises select et option par des balises html:select et html:option.

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

Discussions similaires

  1. Réalisation page authentification d'une application
    Par nabil123456 dans le forum NetBeans
    Réponses: 1
    Dernier message: 28/03/2015, 14h56
  2. Recevoir une page Web à partir d'une application client
    Par kenny49 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 23/02/2007, 00h24
  3. fermer une application struts
    Par zurich dans le forum Struts 1
    Réponses: 4
    Dernier message: 30/10/2006, 16h20
  4. installer une application struts sur le reseau
    Par zurich dans le forum Struts 1
    Réponses: 2
    Dernier message: 17/10/2006, 17h22
  5. Utilisation des fichiers CSS dans une application Struts
    Par menzlitsh dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/09/2006, 16h29

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