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

Tomcat et TomEE Java Discussion :

Établir une communication entre un client Swing et une Servlet en utilisant HttpURLConnection


Sujet :

Tomcat et TomEE Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Points : 27
    Points
    27
    Par défaut Établir une communication entre un client Swing et une Servlet en utilisant HttpURLConnection
    Bonjour, j’essaie d'envoyer un msg à ma servlet depuis mon client Swing, ci dessous le code du ce dernier:

    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
    public class HTTPClient {  
     
        private static URL url;  
        private static HttpURLConnection con;  
     
     
        public HTTPClient() {  
        }  
     
        public void start(String login, String passwd)  
        {  
     
                try {  
     
                    Joueur joueur = new Joueur();  
                    joueur.setLogin(login);  
                    joueur.setPasswd(passwd);  
     
     
                    url = new URL("http://localhost:8001/MetierServ/Servlet");  
                                    con = (HttpURLConnection) url.openConnection();  
     
                    con.setDoOutput(true);    
                                    con.setDoInput(true);  
     
                                    con.setUseCaches(false);  
                                    con.setDefaultUseCaches(false);  
                    OutputStream output     = con.getOutputStream();  
     
                    JAXBContext context     = JAXBContext.newInstance(Joueur.class, ObjectFactory.class);  
     
                    Marshaller encoder      = context.createMarshaller();  
                    encoder.marshal(joueur, output);  
                    output.flush();  
                    System.out.println("request sent");  
     
     
                } catch (UnknownHostException e) {  
                    e.printStackTrace();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                } catch (JAXBException e) {  
                    e.printStackTrace();  
                }  
        }  
    }
    Du coté Client la requête est émise.
    Coté Servlet j'avais juste mis un System.out.println en Post pour m'assurer que la servlet reçoit quelque chose, mais elle ne réagit pas, pourtant si je mets l'url dans un navigateur la servlet réagit parfaitement et affiche bien mon Syso


    Voice mon XML sans le <Welcome-file>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <servlet>  
        <description></description>  
        <display-name>Servlet</display-name>  
        <servlet-name>Servlet</servlet-name>  
        <servlet-class>Servlet</servlet-class>  
      </servlet>  
      <servlet-mapping>  
        <servlet-name>Servlet</servlet-name>  
        <url-pattern>/Servlet</url-pattern>  
      </servlet-mapping>

    PS: Ce code marche parfaitement avec les sockets.

    Besoin d'aide , Merci

  2. #2
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour

    essaies de voir si la requête envoyée est en GET ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Merci pour ta reponse, mais j'ai éssayé GET, POST et toujours rien

  4. #4
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Est-ce que tu as une erreur ?
    sinon essaie de mettre 127.0.0.1 au lieu de localhost
    et autre point dans la javadoc il a la méthode connect pour la classe HTTPURLConnection

    NB : je ne vois pas de fermeture de connexion dans ton code
    N'oublies pas de le faire

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/04/2009, 12h03
  2. Réponses: 2
    Dernier message: 06/03/2009, 09h39
  3. communication entre un projet DLL et une application
    Par ferry.jules dans le forum C++Builder
    Réponses: 95
    Dernier message: 22/05/2006, 20h06
  4. [C#] établir une communication entre UsersControl ??
    Par Nycos62 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/12/2005, 13h54
  5. communication entre poste client windows et db mysql distant
    Par gabole dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/08/2004, 16h59

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