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

Java Discussion :

utiliser getParameter et getInputStream


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut utiliser getParameter et getInputStream
    Bonjour,

    J'ai une servlet ou j'utilise getParameter et ensuite getInputStream.
    Le problème c'est quand je met le getInputStream avec le getParameter celui ce remet à null.
    Comment faire pour que le getInputStream ne se remettre pas à null après un getParameter

    Merci de votre aide

  2. #2
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Piouu

    Non y'a rien a faire j'ai pas pigé un mot de ce que tu nous racontes..

    Tu pourrais essayer d'être un peu plus clair dans tes explications ? Décrire le contexte dans lequel tu te trouves avec éventuellement un petit bout de code aussi pourrait faciliter un peu la compréhension..

    Cdt.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Je vais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if(request.getParameter("url") == monChoix){
    String test= "";
    BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));
    text = reader.readLine();
     
    }
    Le problème c'est quand je fait se test, sa passe bien dans le if mais du coup sa met le getInputStream à null alors que si je fait pas le test, je récupère bien son contenu.
    Le contenu de getInputStream est rempli grâce à un client http.
    Je suis obligé de faire ce test car j'ai une seule servlet dans mon application qui gère toutes les requêtes envoyées

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    cela arrive lorsque le corps de la requête contient des paramètres. Genre si c'est un POST de type application/x-www-form-urlencoded ou multipart/form-data.
    Dans ce cas-là, getParameter() et getInputStream() vont aller lire les mêmes données, puisque les paramètres sont dans ce qu'il y a à lire dans l'InputStream.
    Or, comme l'InputStream de la requête ne peut être lu qu'une seule fois (parce qu'il ne peut pas être chargé en mémoire au cas où il soit très gros, comme l'upload d'un film en HD,) si tu appelles getParameter() il sera lu, et donc c'est fini, plus de getInputStream().

    Pour la solution, ben...
    Dans ces cas-là tu as juste pas besoin de getInputStream() en fait. Tu auras tout ce qu'il faut avec getParameter() ou les autres méthodes du même genre. Pourquoi appeler getInputStream dans ce cas ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    dans mon client http, je fait write dans le inputStream

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Quelle importance, puisque c'est le serveur et pas le client, là ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Utiliser variable de request.getParameter dans JSP
    Par kawaiyush dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 08/01/2015, 15h52
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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