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 :

Ajax et servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Points : 66
    Points
    66
    Par défaut Ajax et servlet
    Bonjour

    Voilà j'ai un formulaire de connexion avec un bouton qui m'envoie vers la servlet à l'aide d'une fonction Ajax.
    Là il y a tout un bazar qui se fait très bien, enregistrement de paramètres en session etc...
    Je voudrais également afficher un message dans la div où se trouve le formulaire indiquant que l'utilisateur est bien connecté. En PHP c'est simple il suffit de faire un include et la nouvelle page se met automatiquement dans la div.
    En Java je n'y arrive pas, je suis redirigé vers une nouvelle page toute blanche contenant uniquement mon message.

    J'ai essayé ça mais ca ne fonctionne pas:

    RequestDispatcher disp = request.getRequestDispatcher("message.html") ;
    disp.include(request, response) ;

    getServletContext().getRequestDispatcher("message.html").include(request,response);

    J'ai même essayé directement depuis ma servlet
    out.println ("Connecte")
    pour écrire directement dans ma div

    En attendant votre aide, merci.

  2. #2
    Membre régulier Avatar de imad_eddine
    Inscrit en
    Août 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 74
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    Pourquoi ne penses tu pas à écrire ton message avec java script (puisque tu utilises Ajax) sur un div dans la même page au lieu d'inclure une autre page contenant ce message ?
    -----------------------------
    Ima@d

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Si tu fais un appel AJAX, il faut traiter jusqu'au bout par AJAX.

    Le dispatcher que tu utilises dans ta servlet renverra les données vers le client mais il faut les récupérer via httpRequest.responseText
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Points : 66
    Points
    66
    Par défaut
    C'est ce que je fais mais au lieu de mettre la réponse dans la div comme je voudrais :

    document.getElementById("formulaire").innerHTML = requeteAjax.responseText ;

    il m'ouvre une nouvelle page.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Peux-tu copier le source de cette nouvelle page et nous le montrer ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Points : 66
    Points
    66
    Par défaut
    <!--
    To change this template, choose Tools | Templates
    and open the template in the editor.
    -->
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    Connecte.


    Voilà c'est tout

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ça ne devrait pas poser de problème...
    Peux-tu montrer le code "ajax" lié à la demande et le code de la page source ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Points : 66
    Points
    66
    Par défaut
    Alors ça c'est le menu de mon site, à l'interieur duquel se trouve le bouton de connexion

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
        <head>
            <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
            <title>E-Commerce</title>
            <meta name="keywords" content="" />
            <meta name="description" content="" />
            <link href="default.css" rel="stylesheet" type="text/css" />
            <script type="text/javascript" src="Accueil.js"></script>
        </head>
        <body onLoad="envoiAjax('Liens.html',0)">
            <div id="logo-wrap">
                <div id="logo">
                <h1><a href="#">Mon site de e-Commerce</a></h1>
                <h2>par Samuel JAFFREC</h2>
                </div>
            </div>
     
            <!-- start header -->
     
            <div id="header">
                <div id="menu">
                    <ul>
                        <li id="accueil"><a href="Accueil.jsp">Accueil</a></li>
                        <li id="liv" onClick="envoiAjax5('livres.jsp')" onMouseOver="curseurLivres(1)">Livres</li>
                        <li id="cd" onClick="envoiAjax5('cd.jsp')" onMouseOver="curseurCD(1)">CD's</li>
                        <li id="compte" onClick="envoiAjax5('Compte2.jsp')" onMouseOver="curseurCompte(1)">Mon compte</li>
                        <li id="panier" onClick="envoiAjax5('Panier2.jsp')" onMouseOver="curseurPanier(1)">Panier</li>
                        <li id="contact" class="" onClick="envoiAjax5('Contact.jsp')" onMouseOver="curseurContact(1)">Nous contacter</li>
                    </ul>
                </div>
                     <form action="analyse3">
                <input type="submit" id="connexion" value="Deconnection">
                <input type="hidden" name = "page" value= "accueil">
            </form>
            </div>
     
            <!-- end header -->
            <!-- start page -->
     
            <div id="wrapper">
                <div id="wrapper-btm">
                    <div id="page">
                        <div id="sidebar">
                            <ul>
                                <li id="search">
                                    <h2>Search</h2>
                                    <form method="get" action="">
                                        <fieldset>
                                             <input type="text" id="s" name="s" value="" />
                                            <input type="button" id="x" value="Search" onClick="recherche('Recherche.jsp')" />
                                        </fieldset>
                                    </form>
                                </li>
                                <li>
                                    <ul>
                                        <li id="lienInscription" onClick="envoiAjax('inscription.html',0)" onMouseOver="curseurInscription(1)">Inscription</li>
                                        <li id="lienConnection" onClick="envoiAjax('formulaire.html',0)" onMouseOver="curseurConnection(1)">Connection</li>
                                    </ul>
                                </li>
                                <div id="formulaire"></div>
                            </ul>
                            <div id="autres">
                                <li id="connexionDirection" onMouseOver="curseurDirection(1)"onClick="envoiAjax('formulaireDirection.jsp',0)">Direction</li>
                                <li id="connexionMagasin" onMouseOver="curseurMagasin(1)"onClick="envoiAjax('formulaireMagasin.jsp',0)">Magasin</li>
                                <!--li id = "connexionAgenceur" onMouseOver="curseurAgenceur(1)"onClick="envoiAjax('formulaireAgenceur.jsp',0)">Agenceur</li-->
                            </div>
                        </div>

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Points : 66
    Points
    66
    Par défaut
    Ca c'est le formulaire qui apparit quand on clique sur le bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <link rel ="stylesheet" media ="screen" type ="text/css" title ="test" href ="formulaire.css" />
              <div id ="presentationLog">
                   Veuillez vous logger<br><br>
                   Nom : <input type = "text" id = "nom" value=""/> <br><br>
                   Mdp  : <input type = "password" id = "mdp"  value=""/> <br><br>
                          <input type = "hidden"   id = "page"  value= "log" />
                   <input type = "button" value = "Valider" onClick="envoiAjax('analyse3')">
              </div> <br><br>
    Et enfin la fonction javascript

    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
    function envoiAjax(url)
    {
            var var1= document.getElementById('nom').value;
            var var2= document.getElementById('mdp').value;
            var var3= document.getElementById('page').value;
            var data = 'nom='+var1+'&mdp='+var2+'&page='+var3;
            url = url+"?"+data;
     
        requeteAjax.open("GET", url, true);
        requeteAjax.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");
        requeteAjax.onreadystatechange = function()
        {
            if (requeteAjax.readyState == 4)
            {
                document.getElementById("formulaire").innerHTML = requeteAjax.responseText ;
            }
        }
     
        requeteAjax.send(null);
        alert(data) ;
    }
    Je voudrais qu'une fois le formulaire rempli, la servlet soit appelé et que mon message apparaisse dans la div où se trouvait le formulaire.

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    C'est la ligne
    requeteAjax.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");
    qui pose problème, retire la...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Ajax et servlet
    Par amine84 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 22/07/2008, 10h37
  2. [AJAX] Image Dynamique en AJAX et servlet JAVA
    Par Canary3d dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/02/2008, 12h04
  3. AJAX et Servlet
    Par psylox dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 07/01/2008, 14h35
  4. [AJAX] ajax et servlet !
    Par anapotheque dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/03/2007, 12h02
  5. Techno Ajax: javascript, servlet java
    Par xfacq dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 07/08/2006, 17h08

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