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 :

Débutant, quelle est mon erreur ?


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut Débutant, quelle est mon erreur ?
    bonsoir

    Ma toute premiere servlet "GestionStockServlet" (j'ai utilisé AJAX), reçois un formulaire teste sur un champ et retourne un string qui doit etre afficher dans un champ du meme formulaire.

    mon code html :
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <body>
     
    <script type="text/javascript">
    function ajaxFunction()
    {
    var objectXHR;
    if (window.XMLHttpRequest)
      {
      objectXHR = new XMLHttpRequest();
      }
    else if (window.ActiveXObject)
      {
      objectXHR = new ActiveXObject("Microsoft.XMLHTTP");
      }
    else
      {
      alert("Your browser does not support XMLHTTP!");
      }
     
    objectXHR.onreadystatechange = function(){
            if (objectXHR.readystate == 4){
                    if (objectXHR.status == 200) {
                            var testResult = objectXHR.responseText;
                            window.document.forms[0].elements[1].value = testResult;
                                    
                    }
                    else {
                            alert("Erreur HTTP N° "+ objectXHR.status);
                    }
                    
    }
    objectXHR.open="Get","GestionStockServlet",true);
    objectXHR.send(null);
    </script>
     
    <form name="formulaire" >
     
    	Produit: <br />
    	<input type="text" name="produit" size="10" ><br />
     
    	box de teste <br />
    	<input type="text" name="testResult" size="10"  /><br /><br />
     
    	<input type="submit" value="envoyer" onclick="ajaxFunction();">	
    		<input type="hidden" name ="action" value="NouveauProduit" />
    </form>
     
    </body>
    le DoGet dans ma servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		PrintWriter out = response.getWriter();
     
    		//exemple de passage de parametre
    		String produit = request.getParameter("produit");
     
     
    		if (produit.equals("clavier")) out.println("OK !");
     
    	}
     
    	}
    Mais pour une raison ou une autre, le champ ne se remplit pas par le "OK !"
    Si quelqu'un arrive à identifier mon erreur ?

  2. #2
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut Débutant, quelle est mon erreur ?
    Bonjour,
    Ta Servlet ne fait qu'afficher "Ok" sur la page web. Pour renvoyer le résultat au client il faut procéder comme suit (A vérifier) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //On construit la réponse
    response.SetContentType("text/xml");
    response.setHeader("Cache-Control", "no-cache");
    //Renvoie la réponse au client sous forme de String
    response.getWriter().write(produit);
     
    //Sachant que response est de type HttpServletResponse

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Donc ce que tu me proposes, c'est de changer la methode :
    out.println(); en out.write(); ?!

    sachant que out est de type response.getWriter();

    Je l'ai essayé, et ça ne marche toujours pas...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Vérifie que le serveur répond en plaçant un alert dans ton js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var testResult = objectXHR.responseText;
    alert(testResult);
    window.document.forms[0].elements[1].value = testResult;
    test aussi en changeant le mode get en post d'ajax et de la servlet

  5. #5
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut Débutant, quelle est mon erreur ?
    En plus de ça, vérifie que ta Servlet reçoit bien l'information.

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    bonsoir
    mon erreur, effectivemet, était dans le passage des parametres depuis le html vers la servlet. Je ne passais aucun parametre, maintenant que je passe des valeurs de formulaire, ça marche, mais la réponse s'affiche sur le formulaire pendant une fraction de seconde et s'efface par la suite, c'est à peine que je la remarque...

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

Discussions similaires

  1. [Débutant] Où est mon erreur ?
    Par ARDILLER dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/03/2011, 09h11
  2. Quelle est mon erreur dans cette syntaxe
    Par BuzzLeclaire dans le forum Langage
    Réponses: 18
    Dernier message: 01/07/2009, 00h28
  3. [STR912 ARM9] Quelle est l'erreur dans mon prog. ASM ?
    Par maczdecarpate dans le forum Autres architectures
    Réponses: 3
    Dernier message: 05/08/2007, 02h27
  4. [MySQL] Mais ou est mon erreur de syntax?
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/10/2006, 15h59
  5. Où est mon erreur ?
    Par Fusio dans le forum Langage
    Réponses: 5
    Dernier message: 07/04/2006, 17h29

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