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 :

Probleme redirection depuis servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut Probleme redirection depuis servlet
    Salut a tous

    Je développe une application en JSP - Servet - EJB sur le modele MVC (enfin j'essaie ) et je bloque avec des redirections apres exections.

    Je vous montre un exemple ce sera plus simple à comprendre :

    Sur une page "create_passenger.jsp" j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="../PassengerServlet/create" method="POST" name="create" >....
    dans mon web.xml j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <servlet>
            <servlet-name>PassengerServlet</servlet-name>
            <servlet-class>servlet.passenger.PassengerServlet</servlet-class>
     </servlet>
        <servlet-mapping>
            <servlet-name>PassengerServlet</servlet-name>
            <url-pattern>/PassengerServlet/*</url-pattern>
        </servlet-mapping>
    dans mon code de ma servlet , je fais la detection d'ou je viens (par exemple ici de "create" fais le traitement qu'il faut et disons qu'apres j'ai une redirection du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                        dispatcher=servletContext.getNamedDispatcher("Error");
                        dispatcher.forward(request,response);
    avec dans le web.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        <servlet>
            <servlet-name>Error</servlet-name>
            <jsp-file>/error.jsp</jsp-file>
        </servlet>
        <servlet-mapping>
            <servlet-name>Error</servlet-name>
            <url-pattern>/Error</url-pattern>
        </servlet-mapping>
    Le probleme cest que lors de la redirection j'ai dans la barre d'adresse :

    http://localhost:8080/AirlinesWeb-wa...Servlet/create

    et en fait j'ai un appel de la page http://localhost:8080/AirlinesWeb-wa...vlet/error.jsp et non
    http://localhost:8080/AirlinesWeb-war/error.jsp,

    du coup tout mon menu est bidon car j'ai dans les adresses le /PAssengerServlet/ de trop

    Et je ne sais pas comment faire pour contourner mon probleme, donc si vous avez une petite idée , elle est la bienvenue.

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Personne pour une petite idée??

    j'ai tenté d'utiliser le response.sendRedirect("mapage.jsp"); mais je m'apercois que je perds les données que je passais en attribut car :

    With a sendRedirect(), it is a new request from the client, and the only way to pass data is through the session or with web parameters (url?name=value).
    donc je cherche toujours la bonne combinaison d'adresse pour que le nom de la servlet n'apparaisse pas dans l'url

  3. #3
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Et pourquoi ne pas simplement faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dispatcher=servletContext.getNamedDispatcher("../error.jsp");
                        dispatcher.forward(request,response);

  4. #4
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Merci yolepro pour ta réponse.

    Le ../error.jsp ne semble pas changer la méthode de la fabrication de l'adresse. J'ai donc toujours des problemes.

    Je ne comprends pas car ca marche pour certaines pages mais pas pour d'autres alors qu'il n'y a aucune différence entre les deux codes. Les mysteres de l'informatique.

    J'ai donc décidé de mettre les variables dans ma session et de faire des response.sendredirect()

    Je vais voir si ca fonctionne correctement.

  5. #5
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Bon j'ai resolu ce probleme en mettant les variables en session et en utilisant le response.sendredirect().

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

Discussions similaires

  1. Redirection POST depuis Servlet
    Par guilopouloos dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 16/10/2014, 17h01
  2. [Servlet]probleme avec une servlet
    Par adilou1981 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 15/06/2005, 10h17
  3. [C#] Redirection depuis une Iframe
    Par Dozer71 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/05/2005, 10h36
  4. [Tomcat] Connaître la version depuis servlet
    Par david71 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 18/02/2005, 19h03
  5. [Tomcat]Probleme d'accès Servlet via une JSP
    Par jeune63000 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 29/01/2005, 11h48

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