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

AJAX Discussion :

Communication entre une servlet jee et javascript


Sujet :

AJAX

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Communication entre une servlet jee et javascript
    Bonjour, je suis novice en javascript/ajax et je souhaite effectuer un controle de "disponibilité" d'un nom dans une base de donnée via un formulaire (jsp) et une servlet. J'aimerai que cette vérification se fasse sans rafraichissement de la page et du coup j'ai utilisé ajax. Le controle du pseudo dans la BD fonctionne mais je ne sais pas comment renvoyer la réponse de la servlet vers la jsp. Est ce que quelqu'un peut m'aider? Merki^^.

    voici un extrait du code du formulaire:
    Code html : 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
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
     
    </head>
     
    <style>
     
    table {margin: 0 auto;} 
     
    </style>
     
    <body>
     
    <h1>Créer une nouvelle campagne</h1>
     
    <form action='Interface1Renvoi' method='POST' onsubmit="return (ValiderMail(this) && ValiderChampsFormulaire(this))">
     
    <table width="475" border="0">
     
    ....
    <tr>
    	<th width="25%" >
    	</th>
    		<th width="75%" align="left">
    		<h2>Nom de l'expéditeur  :</h2>
    		<input type='text' name='NomExpediteur' id='NomExpediteur' size='60'/><br>
    		<span id="msgbox" style="display:none"></span>
    	</th>
    	</tr>
    ...


    voici le code 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
    22
    23
    $('#NomExpediteur').blur(function ()
    {
      $('#msgbox').removeClass().addClass('messagebox').text('Vérification...').fadeIn('slow');
      $.post('VerificationNom', {
        NomExpediteur: $(this).val()
      }, function (reponse)
      {
        if (reponse == 'non')
        {
          $('#msgbox').fadeTo(200, 0.1, function ()
          {
            $(this).jsp('Ce nom existe déjà').addClass('busy').fadeTo(900, 1);
          });
        } 
        else
        {
          $('#msgbox').fadeTo(200, 0.1, function ()
          {
            $(this).jsp('Ce pseudo est libre').addClass('dispo').fadeTo(900, 1);
          });
        }
      });
    });
    et le code post de ma servlet:
    Code java : 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
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doGet(request, response);
     
    		String nom=request.getParameter("NomExpediteur");
     
    		Connection connexion = null;
    		try {
     
    		    // chargement du driver
    		    Class.forName( "com.mysql.jdbc.Driver" );
    		    ...
     
    		    // connexion à la BDD
    		    connexion = DriverManager.getConnection(url, utilisateur, motDePasse); 
     
    		    // recherche du nom
     
    		    Statement statement = connexion.createStatement();
    		    String requete = "SELECT count(*) as res FROM LISTENOMMAIL WHERE Nom= '" + nom + "' ;";
    		    ResultSet recherche = statement.executeQuery(requete);
     
    		    int res=0;
    		    while(recherche.next()){
    		    res= recherche.getInt("res");
    		    }
     
    		    //renvoi de la reponse vers la jsp
     
    		    response.setContentType("text/xml");
     
    			if (res==0) 
    			{
    				System.out.println("non");
    				response.getWriter().write("non");
    			} else 
    			{
    				System.out.println("oui");
    				response.getWriter().write("oui");				
    			}
     
    			connexion.close();
     
    		} 
    		catch ( ClassNotFoundException e ) {
    		    /* Gérer les éventuelles erreurs ici. */			
    			System.out.println("erreur classe");
     
    		}
    		 catch ( SQLException e ) {
    		    /* Gérer les éventuelles erreurs ici */
    			 System.out.println("erreur sql");
     
    ....

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'ai beau chercher je ne trouve pas le probleme:
    si j'entre un nom qui convient
    le message "verification apparait bien" et la console montre bien que le controle dans la base de donnée s'effectue bien, mais l'envoie de "oui" de ma servlet vers la jsp pour avoir le message "ce nom n'est pas libre" ne se fait pas...

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    pour moi ton problème se situe côté serveur, formatage de ta réponse.

    Regarde dans l'onglet réseau ce que tu reçois ou affiche le via un console.log( response).

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta reponse, sur eclipse ou est ce que je peux voir le reseau?

    j'ai fait un System.out.println(response) j'ai obtenu "org.apache.catalina.connector.ResponseFacade@171ab28"

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Je parlais de regarder dans la console du navigateur.

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/08/2008, 17h50
  2. Communication entre une application et un téléphone mobile
    Par m.david dans le forum Développement
    Réponses: 3
    Dernier message: 11/03/2008, 14h07
  3. Réponses: 5
    Dernier message: 23/09/2006, 13h18
  4. [MFC] Communication entre une CDialog et une CFormview
    Par julien.nasser dans le forum MFC
    Réponses: 8
    Dernier message: 06/07/2006, 14h32
  5. Com entre une appli java et du javaScript dans du Html
    Par bpy1401 dans le forum Applets
    Réponses: 1
    Dernier message: 20/07/2005, 09h54

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