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] Méthode Get : récupérer données de l'url


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut [Servlet] Méthode Get : récupérer données de l'url
    Salut,

    Je souhaite récupérer des données contenues dans une trame http (URL) avec une servlet et je ne sais pas quelle méthode utiliser.

    Je passe mes informations ainsi :

    Comment ma servlet peut-elle les récupérer ?
    http://10.0.20.25:8080/servlets-examples/servlet/ExampleServlet?id=19400400678

    Merci d'avance.

    [ Modéré par Viena ]
    Déplacement vers un forum plus approprié
    Les Règles du Forum

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 47
    Points : 58
    Points
    58
    Par défaut
    C'est tout simple tu as la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.String getParameter(java.lang.String name)
    qui te permet de faire ça.

    Elle se trouve dans l'interface ServletRequest qui est implementé par la classe HttpServletRequestWrapper (en autre)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    En fait c'est déjà ce que je fais, mais j'ai un message d'erreur disant que la servlet ne supporte pas la méthode get, comment cele se fait-il ?

    Voilà le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public void doGet(HttpServletRequest req, HttpServletResponse resp, boolean st) throws ServletException, IOException {
    ...
    		PrintWriter out = resp.getWriter();
    		out.println("<html>");
    		out.println("<body>");
    		out.println("<head>");
    		out.println("</head>");
    		out.println("<body bgcolor=\"white\">");
     
    	                serialNb = req.getParameter("id");
    ...
    Y a-t-il une erreur ?
    Merci d'avance.

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 47
    Points : 58
    Points
    58
    Par défaut
    Est-ce que tu pourrais essayer de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void doPost(HttpServletRequest req, HttpServletResponse resp, boolean st) throws ServletException, IOException
    {
        doGet(req, resp, st);
    }
    Je n'y crois pas trop mais peut-être que c'est le doPost qui est appelé.

    Quoi qu'il en soit, pourrait tu afficher l'erreur exact que te sort le compilateur ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    J'obtiens l'erreur suivante, donnée par le navigateur.

    "Etat HTTP 400 - La méthode HTTP GET n''est pas supportée par cette URL"

    De plus, j'ai essayé de placer le code ci-dessus dans la méthode "doPost", mais ça ne change rien visiblement.

  6. #6
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 47
    Points : 58
    Points
    58
    Par défaut
    Je crois que j'ai trouvé.

    En fait c'est tout con :

    Si je ne m'abuse la méthode doGet (tout comme la méthode doPost) ne prennent que deux paramètres (il n'y a pas le boolean à la fin) donc essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException ...
    en gros la même chose mais sans le boolean

  7. #7
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 47
    Points : 58
    Points
    58
    Par défaut
    du coup tout le doPost c'est la même chose (mais si tu n'en n'as pas besoin ne definit pas la méthode)

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    Effectivement, c'était cela, en fait je ne me servais pas de la servlet avec un GET jusqu'à présent, mais elle marchait en POST...

    Merci .

  9. #9
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 47
    Points : 58
    Points
    58
    Par défaut
    Pas de quoi.

    En fait ce qui se passait c'est que tu n'avais pas surchargé la fonction doGet.

    Si c'est OK pense au tag Résolu
    @+

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 57
    Points : 59
    Points
    59
    Par défaut
    Salut,
    En phase de dev on a tendance à utiliser la methode GET, mais apres il vaut mieux penser à implementer POST. En effet, tu ne sera pas limiter par la longueur des valeur que tu passes en parametres et en plus les valeurs ne seront pas visibles directement dans l'URL.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 12/05/2014, 09h48
  2. Réponses: 3
    Dernier message: 05/12/2008, 11h59
  3. Récupérer données d'une URL
    Par briviere dans le forum Langage
    Réponses: 1
    Dernier message: 21/10/2007, 22h44
  4. Réponses: 5
    Dernier message: 15/06/2007, 16h43
  5. Passage de données via la méthode GET
    Par xaaros dans le forum Langage
    Réponses: 9
    Dernier message: 09/11/2006, 10h32

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