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 :

[Servlet] Question Forward d'une requête


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 33
    Points : 31
    Points
    31
    Par défaut [Résolu] [Servlet] Question Forward d'une requête
    Hello,
    je suis nouveau dans le domaine de J2EE et
    j'ai télécharger le cours de Serge Tahe à propos de la programmation web en JAVA.

    J'essaye de faire tourner un exemple qui illustre la nécessité de sessions,
    mais une nullpointerexception est générée lors de l'exécution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // METHODE doGet
    [...]
    HttpSession session=request.getSession();
    if(étape==null) étape0(request,response,session);
    if(étape.equals("1")) étape1(request,response,session);
    if(étape.equals("2")) étape2(request,response,session);
    étape0(request,response,session);
    }
    [...]
    Dans la méthode étape0 il forward la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // METHODE étape0 
    [...]
    request.getRequestDispatcher(urlPage0).forward(request,response);
    [...]
    Lors de la premiere execution étape vaut null.
    Donc on passera ds la méthode étape0 , qui forward la requête.
    Il suppose qu'après avoir fait le forward on n'exécute plus les instructions qui suivent ...
    Eh ben chez moi si :
    if(étape==null) étape0(request,response,session);
    if(étape.equals("1")) étape1(request,response,session); <- NullPointerException vu que étape vaut null et qu'on essaye d'appeler la méthode equals sur cet objet...

    Qqun peut-il m'aider ?
    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Il suppose qu'après avoir fait le forward on n'exécute plus les instructions qui suivent ...
    Faux !
    Il n'existe, en java, que 3 manière de sortir d'une méthode !
    1. Arriver à la fin du bloc de la méthode
    2. Tomber sur un return
    3. Lever une exception


    La méthode forward ne sort donc pas du tout de ta méthode
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    bonjour matthew,

    d'abbord une remarque generale : je pense que tu devrais eviter les accents dans ton code car tu risques d'avoir des problemes d'interpretation.

    ensuite tu testes (étape==null) ==> etape0, pourquoi tu ne mets pas un else if pour etape 1

    ou alors tu fais if ((étape!=null)&&(étape==1)) ...

    j'espere avoir pu t aider

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Mais qd je google je peux voir ceci :

    "
    You can transfer to another page without returning to the original. This technique is called forwarding. When you forward the request on to another page (or servlet), the forwarding page is no longer involved in handling the request.
    "

    Tout ce contredit avec mon NullPointerException,
    en plus je suppose que Serge Tahe ai testé sone xemple,
    et je peux voir uns econd exemple sur le net ou on suppose que les instructions ne sont pas exécutées apres un forward.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Et selon le livre Advanced Java - Servlets And JSP :
    "
    When RequestDispatchedr method forward is called, processing of the request by the current servlet terminates.
    "

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Vous aviez tous les deux raison

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

Discussions similaires

  1. Question?un Trait dans une requéte
    Par nour111 dans le forum SQL
    Réponses: 2
    Dernier message: 23/01/2008, 10h18
  2. Réponses: 3
    Dernier message: 09/08/2007, 09h47
  3. Question performance et "taille" d'une requête
    Par RR instinct dans le forum Requêtes
    Réponses: 6
    Dernier message: 03/08/2007, 14h43
  4. [servlet][JSP]forwarder dans une frame
    Par deldin dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 30/06/2004, 18h03
  5. [Servlet] envoie d'une requête
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 11/06/2004, 10h43

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