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

Services Web Java Discussion :

[débutante] Envoi données et affichage


Sujet :

Services Web Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut [débutante] Envoi données et affichage
    Bonjour a tous.

    Voila, l'application que je dois réaliser consiste en fait à simplement par une interface SWING envoyer des données dans une base de données (j'utilise easyphp, donc du mysql) et les envoyer ensuite sur apache pour que celles ci s'affiche ensuite du coté client.

    J'ai crée 1 classe avec simplement des données et des getters et setters.
    1 autre classe envoie les données dans la base de données mais aprés je bloque : je n'arrive pas a envoyer toutes ces données sur le serveur apache !

    J'avais un exemple mais je n'arrive pas à m'en servire pour mon application :

    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
    public class Test{
     
        public static void main(String[] argv) {
     
            try{
     
                localhost.axis.services.Version.VersionServiceLocator loc = new                   localhost.axis.services.Version.VersionServiceLocator();
                java.net.URL url = new          java.net.URL("http://localhost:8080/axis/services/Version");
                localhost.axis.services.Version.VersionSoapBindingStub stub=new localhost.axis.services.Version.VersionSoapBindingStub(url, loc);
                String ret=stub.getVersion();
                System.out.println("OK :" + ret);
     
                }catch(Exception e){
                     System.out.println(" ERREUR :"+e.getMessage());
                }
          }
    }

    C'est de cette facon qu'il faut que j'envoie tout ceci sur mon serveur...mais je bloque la !

    Je vous mets la classe Add.java qui envoie dans la base de donnés et qui devrait donc envoyer également ces données sur apache pour que puissiez voir :

    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    import java.awt.Container;
    import java.awt.event.*;
    import java.net.URL;
    import java.sql.*;
    import java.util.*;
    import javax.swing.*;
     
     
    public class Add extends JFrame implements ActionListener {
     
    	private JDesktopPane bureau;
    	private Container contenu;
    	private JMenuBar menu;
    	private JMenu fich;
    	private JMenuItem quit;
    	private JLabel labnomE;
    	private JLabel labrueE;
    	private JLabel labvilleE;
    	private JLabel labcodePostE;
    	private JLabel labnumE;
    	private JLabel labnomResp;
    	private JLabel labnomInterloc;
    	private JTextField txtnomE;
    	private JTextField txtrueE;
    	private JTextField txtvilleE;
    	private JTextField txtcodePostE;
    	private JTextField txtnumE;
    	private JTextField txtnomResp;
    	private JTextField txtnomInterloc;
    	private JButton envoie;
     
    	private String rqt;
    	private Connection con;
     
    	public Add()
    	{
    		super("Ajout d'un etablissement");
    		this.bureau = new JDesktopPane();
    		this.menu = new JMenuBar();
    		this.fich = new JMenu("Menu");
    		this.menu.add(fich);
    		this.quit = new JMenuItem("Quitter");
     
    		this.fich.add(quit);
    		this.setJMenuBar(menu);
    		this.getContentPane().add(bureau);
    		this.quit.addActionListener(this);
     
    		this.labnomE = new JLabel("Nom etablissement ");
    		this.labrueE = new JLabel("Rue  ");
    		this.labvilleE = new JLabel("Ville ");
    		this.labcodePostE = new JLabel("Code Postal ");
    		this.labnumE = new JLabel("Numero telephone ");
    		this.labnomResp = new JLabel("Nom du responsable");
    		this.labnomInterloc = new JLabel("Nom interlocuteur ");
     
    		this.txtnomE = new JTextField("");
    		this.txtrueE = new JTextField("");
    		this.txtvilleE = new JTextField("");
    		this.txtcodePostE = new JTextField("");
    		this.txtnumE = new JTextField("");
    		this.txtnomResp = new JTextField("");
    		this.txtnomInterloc = new JTextField("");
     
    		this.envoie = new JButton("Envoyer");
    		this.envoie.addActionListener(this);
     
    		this.contenu = this.getContentPane();
     
    		this.labnomE.setBounds(100,40,120,20);
    		this.labrueE.setBounds(100,70,120,20);
    		this.labvilleE.setBounds(100,100,120,20);
    		this.labcodePostE.setBounds(100,130,120,20);
    		this.labnumE.setBounds(100,160,120,20);
    		this.labnomResp.setBounds(100,190,120,20);
    		this.labnomInterloc.setBounds(100,220,120,20);
    		this.txtnomE.setBounds(280,40,120,20);
    		this.txtrueE.setBounds(280,70,120,20);
    		this.txtvilleE.setBounds(280,100,120,20);
    		this.txtcodePostE.setBounds(280,130,120,20);
    		this.txtnumE.setBounds(280,160,120,20);
    		this.txtnomResp.setBounds(280,190,120,20);
    		this.txtnomInterloc.setBounds(280,220,120,20);
     
    		this.envoie.setBounds(190,300,120,20);
     
    		this.contenu.setLayout(null);
    		this.contenu.add(labnomE);
    		this.contenu.add(labrueE);
    		this.contenu.add(labnumE);
    		this.contenu.add(labvilleE);
    		this.contenu.add(labcodePostE);
    		this.contenu.add(labnomResp);
    		this.contenu.add(labnomInterloc);
    		this.contenu.add(txtnomE);
    		this.contenu.add(txtrueE);
    		this.contenu.add(txtvilleE);
    		this.contenu.add(txtcodePostE);
    		this.contenu.add(txtnumE);
    		this.contenu.add(txtnomResp);
    		this.contenu.add(txtnomInterloc);
    		this.contenu.add(envoie);		
    	}	
     
    	public void actionPerformed(ActionEvent e) {
     
    		if (e.getSource() == quit)
    		{System.exit(0);}
     
    		if (e.getSource() == envoie) {
     
    //		1. def du driver
    		    try { 
    			   Class.forName("com.mysql.jdbc.Driver");      
    		    } 
    		    catch (ClassNotFoundException except) 
    			 { JOptionPane.showMessageDialog(this, "Erreur de drivers : " + except);}
     
    //		2. creation d'une connexion a la base de donnees
    		    String url = "jdbc:mysql://localhost/axis";
    		    String user = "root";
    		    String password = "";
     
    		    try {
    		    	con = DriverManager.getConnection(url, user, password);
    		    }
    		    catch (SQLException except1){
    		    	JOptionPane.showMessageDialog(this,"Erreur de connexion a la base : " + except1);
    		    }
     
    //		3. creation de la requete
    		    try {
    				Statement stmt = con.createStatement();
    				rqt = "INSERT INTO etablissement(nomE, rueE, villeE, codePost, numTel, nomResp, nomInterloc)" +
    				"VALUES ("+txtnomE.getText()+","+txtrueE.getText()+","+txtvilleE.getText()+","+txtcodePostE.getText()+"," +
    				""+txtnumE.getText()+","+txtnomInterloc.getText()+");";
     
    //		4. envoie de la requete
    			int nbLignSupp = stmt.executeUpdate(rqt);
    		        JOptionPane.showMessageDialog(this,"Nombre de lignes supprimees : "+nbLignSupp);
    		    } 
    		    catch (SQLException except2) {
    		    	JOptionPane.showMessageDialog(this,"Erreur sur la requete : " + except2);
    			}
    		}
    	}

    Désolée : c'est un peu long !

    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 76
    Points : 72
    Points
    72
    Par défaut
    Bonsoir Sapphire,

    Je ne comprends pas tout
    Tu utilises du java côté serveur ? Tomcat ? Tu ne peux pas faire tourner du java côté serveur avec simplement Apache, tu le sais ça ?

    Apporte quelques précisions stp...

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 134
    Points
    134
    Par défaut
    Bonjour
    Je me suis fait couper l'herbe sous le pied

    Peux tu nous décrire ton besoin de façon plus précise?
    Je comprends que ton appli swing insere des données dans la base.

    C'est la deuxième partie que je ne comprends pas:
    je n'arrive pas a envoyer toutes ces données sur le serveur apache !
    Que signifie cette phrase?
    Sous quelle forme les données doivent elles être envoyées?
    Quelle est l'objectif ?
    S'agit-il d'un serveur apache httpd, d'un tomcat?
    ...

    Avec quelques infos supplémentaires, nous trouverons surement une solution.

    Cordialement
    Willy78

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut
    Désolée de pas avoir été plus précise mais comme je suis pas une experte ...j'ai une peu de mal !
    En fait le but de l'application entière c'est la gestion de demande de reservations de chambres dans des etablissements.

    Pour pouvoir reserver, le client doit envoyer sa demande par l'intermédiaire d'une application swing (dont je ne m'occupe pas !). Sa demande est ensuite envoyée à l'établissement qui va traiter la demande et vérifier si il lui reste des chambres...etc...et lui renvoyer une réponse (positive ou non). Pour l'instant mon but (parce que je viens de commencer) c'est, grace a une petite application swing, d'ajouter des établissements (nom, adresse...) dans ma base de données et j'aimerai faire en sorte que ces données aparaissent du coté client, car moi lorsque je rentre des informations sur les etablissements, je suis du coté serveur.
    Mais je ne sais pas comment faire pour envoyer ces données...

    Je sais pas si c'est plus clair la !

    Sinon, j'utilise en effet Tomcat.

    Tu ne peux pas faire tourner du java côté serveur avec simplement Apache, tu le sais ça ?
    ...nan je savais pas lol

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 134
    Points
    134
    Par défaut
    Si je comprends bien le workflow est le suivant pour une demande de res:

    client app swing --->site de res ---->Hotel
    Toi, tu travaille sur le site de res, et tu s une appli pour alimenter la base.

    Ton problème est-il comment faire en sorte que l'appli swing voit les nouvelles données de référence (liste des hotels)?

    Ou alors j'ai rien pigé?

    peux tu préciser les différents moyens de com entre les différents acteurs (client,site de res, hotel)?
    Willy78

  6. #6
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut
    j'en ai marre de rien comprendre a ce que je fais lol
    c'est dur a expliquer en fait
    moi je travaille avec soap, axis, tomcat, easyphp : je suis désolée de vous sortir ca en vrac lol mais bon.

    Toi, tu travaille sur le site de res, et tu s une appli pour alimenter la base.
    c'est ca : j'alimente seulement la base en fait mais je travaille pour quelqu'un et cette personne (vu que je débute en web service) veut que ces données s'affichent du coté client. En gros, il me faut une application du coté serveur qui enverra les informations de l'établissement, et une appli client qui les recoit et les affiche.

    J'ai essayé de trouver des tuto mais j'ai rien trouvé qui correspondait a ce que je fait (appli serveur, et client)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 76
    Points : 72
    Points
    72
    Par défaut
    Excuse moi Sapphire, je suis un peu comme Willy, il y a certains points qui restent obscures

    Tu écris :
    Pour l'instant mon but (parce que je viens de commencer) c'est, grace a une petite application swing, d'ajouter des établissements (nom, adresse...) dans ma base de données et j'aimerai faire en sorte que ces données aparaissent du coté client, car moi lorsque je rentre des informations sur les etablissements, je suis du coté serveur.
    Comment peux tu à la fois utiliser une appli swing comme tu dis, autrement dis une interface et client et affirmer que tu te trouves en même temps côté serveur ??? Je ne te suis pas là !

    Fais tu bien la différence entre le côté client et le côté serveur ? Ton application aura t'elle les droits pour se connecter sur ta bdd ?

    A suivre...

    -David-

  8. #8
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut
    A mon avis j'ai pas du comprendre la difference entre les deux alors

  9. #9
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut
    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
    public class Test{
     
        public static void main(String[] argv) {
     
            try{
     
                localhost.axis.services.Version.VersionServiceLocator loc = new                   localhost.axis.services.Version.VersionServiceLocator();
                java.net.URL url = new          java.net.URL("http://localhost:8080/axis/services/Version");
                localhost.axis.services.Version.VersionSoapBindingStub stub=new localhost.axis.services.Version.VersionSoapBindingStub(url, loc);
                String ret=stub.getVersion();
                System.out.println("OK :" + ret);
     
                }catch(Exception e){
                     System.out.println(" ERREUR :"+e.getMessage());
                }
          }
    }
    Alors ce code la, est ce que vous pourriez me dire si c'est coté serveur ou client s'il vous plait??

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 76
    Points : 72
    Points
    72
    Par défaut
    Ha ! Je n'avais pas eu ton dernier post !
    Bon, effectivement, tu sembles avoir accès à des services web. On doit normalement te fournir les url d'accès à ces différents services j'imagine...

  11. #11
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut
    oui j'aurai les url de ces services, mais pour l'instant c'est a moi de gérer et c'est pour ca que je nage la, et je suis au ras de me noyer la honnetement. Les url je ne les ai pas pour l'instant, donc je pense qu'il faut que j'utilise les url deja presentent dans axis (celles des exemples) nan?

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 76
    Points : 72
    Points
    72
    Par défaut
    Oui, effectivement, mais d'après ce que je vois, tu tapes sur le localhost, donc ça doit vouloir dire que tu as monté un contexte et démarré Tomcat avec les services axis de base déployés. Tu confirmes ?

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 76
    Points : 72
    Points
    72
    Par défaut
    Les webservices sont assez délicats. Pas super compliqués non plus. Il se trouve que je suis en plein dedans moi aussi en ce moment sur un des projets sur lesquels je travaille. Je pourrai t'en dire un peu plus demain quand je serai de retour au bureau. Ici je n'ai malheureusement pas assez d'infos sous la main...

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 76
    Points : 72
    Points
    72
    Par défaut
    J'arrête là pour ce soir, "à chaque jour suffit sa peine". Réactive ton post demain matin, je pourrai t'en dire plus
    Bonne nuit,

    -David-

  15. #15
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut
    Oui, effectivement, mais d'après ce que je vois, tu tapes sur le localhost, donc ça doit vouloir dire que tu as monté un contexte et démarré Tomcat avec les services axis de base déployés. Tu confirmes ?
    Je confirme.

    Et merci beaucoup pour ton aide ! C'est gentil en tout cas.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 76
    Points : 72
    Points
    72
    Par défaut
    Bonjour Sapphire,

    Comme promis, de retour au bureau, si tu as besoin d'aide, fais moi signe

    Bonne journée,

    -David-

  17. #17
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut
    Bonjour David,

    Désolée de ne pas avoir réactivé mon post avant : coupure d'électricité ! lol

  18. #18
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut
    J'aurais aimé savoir si je peux travailler avec eclipse pour créer mes applications java? je pense que oui mais en fait est-ce-qu'il faut que je fasse quelque chose de particulier avec des packages ou des librairies?

  19. #19
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Points : 5
    Points
    5
    Par défaut
    Eclipse ne comprend pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    localhost.axis.services.Version.VersionServiceLocator loc = new localhost.axis.services.Version.VersionServiceLocator();
    Je me doute que c'est normal mais du coup pourrais tu m'aider s'il te plait pour qu'il comprenne le localhost.axis....?

    A part ca : j'adore la programmation lool

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 76
    Points : 72
    Points
    72
    Par défaut
    Bonjour Sapphire,

    Concernant le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    localhost.axis.services.Version.VersionServiceLocator loc = new localhost.axis.services.Version.VersionServiceLocator();
    je ne comprends, je ne trouve pas cette classe dans la librairie d'axis que j'utilise !
    Es-tu habituée à la programmation java ? Sais tu à quoi correspondent les différents termes qui constituent cette ligne de code ? Autrement dit, les notions de classes, package, etc... te sont elles famillières ?
    Je te pose cette question car tu me dis qu'Eclipse ne comprend pas cette ligne. Il faut que tu indiques dans ton projet java quelles sont les librairies dont tu as besoin. Or, axis est une librairie, tu dois avoir un fichier .jar qui lui correspond. Tu confirmes ?
    En tout cas, si c'est effectivement le cas, alors nous n'avons pas le même
    Je recherche un bout de code d'appel à un webservice et je te donne ça...

    A+

    -David-

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 6 12345 ... DernièreDernière

Discussions similaires

  1. [Débutant] Base de données - Conexion Affichage
    Par doublegold dans le forum Développement Sharepoint
    Réponses: 1
    Dernier message: 17/03/2015, 13h56
  2. Réponses: 2
    Dernier message: 28/02/2015, 22h48
  3. [Débutant] Récupération de données et affichage sous forme de tableau
    Par Samrenfou dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 17/04/2007, 10h18
  4. [Débutant] Envoi de fichier par socket
    Par zapho dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 26/05/2004, 18h58
  5. Réponses: 4
    Dernier message: 18/08/2003, 09h53

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