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

Servlets/JSP Java Discussion :

Incompréhension dans l'enchainement des pages


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 84
    Points : 65
    Points
    65
    Par défaut Incompréhension dans l'enchainement des pages
    Bonjour,
    Je m'attendais à ce que mon code suive le chemin que j'avais déterminé au préalable, c'est à dire firstJsp.jsp => bouton submit => modify.jsp. Or il va directement à display.jsp et j'avoue ne pas comprendre pourquoi.
    Ci joint les deux jsp & les servlet associé. Je ne pense pas que le code modele soit nécessaire, je le rajouterai si besoin. Merci d'avance.
    firstJsp.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
    <html>
    <body>
    	<%@ page import="com.test.modele.*,javax.servlet.http.HttpSession;"%>
    	<%
                    out.println("<form name=\"userlist\" method=\"POST\" action=\"modify.do\" />");
            %>
    	<p>Alors...</p>
    	<%
                    //      HttpSession session = request.getSession();
                    InterfaceBDD toto = (InterfaceBDD) session.getAttribute("Bdd");
                    String[] str;
                    out.println("<table><caption>Liste d'utilisateurs</caption><thead>"
                                    + "<tr><th>Id</th><th>Username</th><th>E-mail</th></tr></thead><tbody>");
                    int a = 0;
                    while ((str = toto.display(a)) != null) {
                            out.println("<tr><td><input type=\"radio\" name=\"validation\" value=\""
                                            + a
                                            + "\""
                                            + "</td"
                                            + "<td>"
                                            + str[1]
                                            + "</td><td>"
                                            + str[0] + "</td><td>" + str[2] + "</td></tr>");
                            a++;
                    }
                    out.println("</tbody></table>");
                    out.println("<input type=\"text\" name=\"login\" />");
                    out.println("<input type=\"submit\" name=\"modifier\" />");
            %>
    </body>
    </form>
    </html>
    modify.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
    <html>
    <body>
    	<%@ page import="com.test.modele.*,javax.servlet.http.HttpSession"%>
    	<%
    String a = (String)request.getAttribute("id");
    InterfaceBDD toto = (InterfaceBDD)session.getAttribute("Bdd");
    String table[];
    if (a != null){
    table = toto.display((int)(Integer.parseInt(a)));
    out.println("<h2>" + table[0] + "<h2>");
    out.println("<h2>" + table[1] + "<h2>");
    out.println("<h2>" + table[2] + "<h2>");
    }
    %>
    </body>
    </html>
    accueil.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
    26
    27
    28
    29
    30
    31
    32
    package com.test.servlet;
     
    import java.io.IOException;
    import java.io.PrintWriter;
    import com.test.modele.*;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import com.test.*;
     
    public class Accueil extends HttpServlet {
     
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws IOException, ServletException {
     
    		InterfaceBDD toto = new ModeXML();
    		toto.init();
    		RequestDispatcher dispatch = request
    				.getRequestDispatcher("firstJsp.jsp");
    		HttpSession session = request.getSession();
    		session.setAttribute("Bdd", toto);
    		dispatch.forward(request, response);
    	}
     
    	public void doPost(HttpServletRequest request, HttpServletResponse response)						
    			throws IOException, ServletException{
    doGet(request, response);
    }	
    }
    DisplayList.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
    26
    27
    28
    29
    30
    31
    package com.test.servlet;
     
    import java.io.IOException;
    import java.io.PrintWriter;
    import com.test.modele.*;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    public class DisplayList extends HttpServlet {
     
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws IOException, ServletException {
    		String id = request.getParameter("validation");
    		PrintWriter out = response.getWriter();
    		request.setAttribute("id", id);
    		RequestDispatcher dispatch = request.getRequestDispatcher("modifyJsp.jsp");
    		dispatch.forward(request, response);
     
     
     
    	}
     
    	public void doPost(HttpServletRequest request, HttpServletResponse response)						
    			throws IOException, ServletException{
    doGet(request, response);
    }	
     
    }
    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
    <web-app>
    	<servlet>
    		<servlet-class>com.test.servlet.Accueil</servlet-class>
    		<servlet-name>accueil</servlet-name>
    		<servlet-class>com.test.servlet.DisplayList</servlet-class>
    		<servlet-name>display</servlet-name>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>accueil</servlet-name>
    		<url-pattern>/</url-pattern>
    		<servlet-name>display</servlet-name>
    		<url-pattern>/modify.do</url-pattern>
    	</servlet-mapping>
    </web-app>
    Voila, merci d'avance.

  2. #2
    Membre éclairé Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Points : 882
    Points
    882
    Par défaut
    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
    <web-app>
    	<servlet>
    		<servlet-class>com.test.servlet.Accueil</servlet-class>
    		<servlet-name>accueil</servlet-name>
    	</servlet>
    	<servlet>
    		<servlet-class>com.test.servlet.DisplayList</servlet-class>
    		<servlet-name>display</servlet-name>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>accueil</servlet-name>
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>display</servlet-name>
    		<url-pattern>/modify.do</url-pattern>
    	</servlet-mapping>
    </web-app>
    Non ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 84
    Points : 65
    Points
    65
    Par défaut
    Ouais j'ai vu ça il y a dix minutes, de quoi se taper la tête contre l'écran. Fin du coup comme j'avais pas envie de passer la journée à rien faire en attendant une réponse, j'ai complètement changer l'architecture de mon projet, donc bon.
    Merci quand même.

  4. #4
    Membre éclairé Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Points : 882
    Points
    882
    Par défaut

    Fin du coup comme j'avais pas envie de passer la journée à rien faire en attendant une réponse,
    Bon, on saura pas alors... au moins un résolu ou délestage ? Non ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 84
    Points : 65
    Points
    65
    Par défaut
    J'ai mis le post en résolu et l'erreur que j'ai fait pas rapport au mauvais enchainement des pages coule de source. Vu que j'imagine que le xml est lis de haut en bas, et que les attributs sont remplacé s'ils ont le même nom & différente valeurs, écrire ç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
    <web-app>
    	<servlet>
    		<servlet-class>com.test.servlet.Accueil</servlet-class>
    		<servlet-name>accueil</servlet-name>
    		<servlet-class>com.test.servlet.DisplayList</servlet-class>
    		<servlet-name>display</servlet-name>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>accueil</servlet-name>
    		<url-pattern>/</url-pattern>
    		<servlet-name>display</servlet-name>
    		<url-pattern>/modify.do</url-pattern>
    	</servlet-mapping>
    </web-app>
    est équivalent à écrire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <web-app>
    	<servlet>
    		<servlet-class>com.test.servlet.DisplayList</servlet-class>
    		<servlet-name>display</servlet-name>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>display</servlet-name>
    		<url-pattern>/modify.do</url-pattern>
    	</servlet-mapping>
    </web-app>
    L'enchainement des pages, c'est à dire ne pas tenir compte de mon servlet accueil est donc tout à fait logique.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/05/2010, 21h58
  2. [WD-2003] Intérêts du mode plan dans la numérotation des pages
    Par desideria dans le forum Word
    Réponses: 6
    Dernier message: 07/05/2010, 19h37
  3. Réponses: 0
    Dernier message: 24/02/2009, 14h44
  4. Incompréhension dans l'ordonnancement des évènements
    Par phalgand dans le forum ASP.NET
    Réponses: 4
    Dernier message: 14/02/2008, 17h13
  5. Réponses: 12
    Dernier message: 19/12/2007, 11h06

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