Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1559 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Faire communiquer une applet java avec du php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire communiquer une applet java avec du php

n°796426
Alx06
Posté le 15-07-2004 à 15:11:33  profilanswer
 

Bonjour à tous,
et merci de me lire déjà !
 
 
Voilà, j'ai une applet java qui doit envoyer des donnees a du code php, pour que le code php les ecrive lui coté serveur. seuleument je n'arrive pas a etablir la communication entre les 2, je ne sais pas si c'est cote java ou cote php que je merdois.
 
est-ce que l'un d'entre vous aurait deja fait un tel truc ?
 
 
d'avance merci pour l'aide !!
 
Alex

mood
Publicité
Posté le 15-07-2004 à 15:11:33  profilanswer
 

n°796741
senternal
Posté le 15-07-2004 à 17:04:39  profilanswer
 

Alx06 a écrit :

Bonjour à tous,
et merci de me lire déjà !
 
 
Voilà, j'ai une applet java qui doit envoyer des donnees a du code php, pour que le code php les ecrive lui coté serveur. seuleument je n'arrive pas a etablir la communication entre les 2, je ne sais pas si c'est cote java ou cote php que je merdois.
 
est-ce que l'un d'entre vous aurait deja fait un tel truc ?
 
 
d'avance merci pour l'aide !!
 
Alex


 
Ton applet communique par POST ou GET suivant le besoin avec tes pages en PHP qui peuvent par exemple renvoyer du txt ou XML (si t'es motiv') comme résultat a ton applet. Si tu as un simple formulaire, ca passe en parametres de ton POST mais si tu as de nombreux échanges de données ou si tu as besoin de formater des données, regardes du coté de SOAP... google (http://www.google.fr/search?hl=fr&ie=UTF-8&q=php+soap&meta=)
 
En gros sur ton applet, tu appelles une page sur ton serveur http://php-server/lucius.php en lui passant le contenu de ton formulaire (voir java.net.URLConnection).
 
Coté PHP, rien de special a faire, si ce n'est de renvoyer une reponse comprehensible en plain text ou XML afin de pouvoir recuperer le contenu dans ton applet...


Message édité par senternal le 15-07-2004 à 17:05:53
n°796871
Alx06
Posté le 15-07-2004 à 20:01:42  profilanswer
 

cool senternal, merci de m'aider.
mais je n'y arrive toujours pas !!!
 
 
voici le code que j'ai dans mon applet.
je me limite a vouloir passer le parametre msg au fichier essai1.php.
 
 

Code :
  1. try {
  2.    URL url;
  3.     URLConnection con;
  4.     OutputStream oStream;
  5.     String parametersAsString;
  6.     byte[] parameterAsBytes;
  7.     String aLine; // only if reading response  
  8.     parametersAsString = "msg=hello";
  9.     parameterAsBytes = parametersAsString.getBytes();
  10.     // send parameters to server  
  11.     url = this.getCodeBase();
  12.     System.err.println("url:"+url);
  13.     url = new URL(url + "essai1.php" );
  14.     System.err.println("url:"+url);
  15.     con = url.openConnection();
  16.     con.setDoOutput(true);
  17. //    setDoInput(true); // only if reading response  
  18.     con.setDoInput(false);
  19.     con.setRequestProperty("Content=length", String.valueOf(parameterAsBytes.length));
  20.     oStream = con.getOutputStream();
  21.     oStream.write(parameterAsBytes);
  22.     oStream.flush();
  23.     oStream.close();
  24.    
  25.  }
  26.  catch (Exception e)
  27.  {
  28.   e.printStackTrace();
  29.  }


 
 
ensuite, mon fichier php fait tout connement :
(ce ficheir, appelé directement depuis le browser, marche tres bien !!!)
 
 

Code :
  1. <?php
  2. $msg1= $http_post_vars[msg];
  3. $msg2= $http_get_vars[msg];
  4. $msg3= $msg;
  5. echo $msg1;
  6. echo "<br>";
  7. echo $msg2;
  8. echo "<br>";
  9. echo $msg3;
  10. echo "<br>";
  11. $fp = @fopen("a.txt", "w" ) or die("Couldn't open $file for writing!" );
  12. $numBytes = @fwrite($fp, $msg3);
  13. @fclose($fp);
  14. echo "Wrote $numBytes bytes to $file successfully!";
  15. ?>


 
 
et les 3 variables $msg1 $msg2 $msg3 ont l'air vide
puisque qd j'essaye de les ecrire, y'a rien dans mon fichier
 
 
mais en fait, je viens de le voir là, meme quand j'essaye, cote php, un $numBytes = @fwrite($fp, "toto" ); rien n'est ecrit dans mon fichier !!!
 
donc c'est comme si dans mon applet  je n'ouvrais pas le flux, ou que mon appel à essai1.php foirait.
 
et il n'y a aucun message dans ma console java...
 
 
qui saura ?
 
 

n°796884
Alx06
Posté le 15-07-2004 à 20:25:12  profilanswer
 

alors, petite news si je mets ceci
 

Code :
  1. String datipost = URLEncoder.encode("key", "UTF-8" ) + "=" + URLEncoder.encode("value", "UTF-8" );
  2.             con.setDoOutput(true);
  3.             con.setDoInput(true);
  4.             OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
  5.             //wr.write(datipost);
  6.             datipost = URLEncoder.encode("msg", "UTF-8" ) + "=" + URLEncoder.encode("zutflute", "UTF-8" );
  7.             wr.write(datipost);
  8.             wr.flush();


 
le fichier php ecrit bien dans le fichier "a.txt"
un p'tit toto
 
mais impossible de vroi autre chose !
(mon zutflute par ex...)

n°796887
Alx06
Posté le 15-07-2004 à 20:28:47  profilanswer
 

alleluia, j'ai trouve !
c ok maintenant, merci
 
j'avais change (entre mes 2 messages) le php et m'en rappelais plus, c coooooooooooooooool

n°2148169
kofi
Posté le 05-07-2012 à 06:09:32  profilanswer
 

Salut Alx06,
 
Je suis en train de tester ton exemple avec le script PHP qui écrit dans un fichier texte. Mais ça ne semble pas marcher correctement. J'ai fait pas mal de recherche et ne trouve rien de très probant pour trouver mon erreur.  
 
La connexion à l'air de se passer correctement: je ne me prend pas de message d'erreur.
Le fichier PHP à l'air de fonctionner: quand je le lance depuis mon browser, j'ai bien le fichier texte qui se créée avec la variable qui s'écrit à l'intérieur.
 
J'ai l'impression que je n'arrive pas à lancer le script PHP depuis le programme Java. Peux-tu indiquer la solution que tu as utilisée?
 
Voici mon code Java (dans l'applet):

Code :
  1. public void post_methode2()
  2. {
  3.  URLConnection connection = null;
  4.  try
  5.  {
  6.   URL url = new URL("http://tests_vh/Java/essai1.php" );
  7.   connection = url.openConnection();
  8.   //connection.setRequestMethod("POST" );
  9.   connection.setDoInput(true);
  10.   connection.setDoOutput(true);
  11.   String datipost = URLEncoder.encode("msg", "UTF-8" ) + "=" + URLEncoder.encode("zutflute", "UTF-8" );
  12.   DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
  13.   wr.writeBytes(datipost);
  14.   wr.flush();
  15.   wr.close();
  16.   m_answer.setText("tout roule" );
  17.  }
  18.  catch (Exception e)
  19.  {
  20.   m_answer.setText("problème" );
  21.   e.printStackTrace();
  22.  }
  23. }


 
 
Voici mon code PHP:

Code :
  1. <?php
  2. //$msg1= $_POST[msg];
  3.     $msg2= $_GET[msg];
  4.    
  5. echo "reçu 5 sur 5";
  6. $fp = @fopen("a.txt", "w" ) or die("Couldn't open $file for writing!" );
  7. //$numBytes = @fwrite($fp, $msg1);
  8. $numBytes = @fwrite($fp, $msg2);
  9. @fclose($fp);
  10. ?>


 
Comme tu le vois, ça colle assez à ce que tu as posté. Je ne sais pas si tu te souviens de la solution mais si tu peux me filer un coup de main, je te serai éternellement reconnaissant  :jap:  
 
Merci

n°2148170
kofi
Posté le 05-07-2012 à 06:37:48  profilanswer
 

Alx06 a écrit :

alleluia, j'ai trouve !
c ok maintenant, merci
 
j'avais change (entre mes 2 messages) le php et m'en rappelais plus, c coooooooooooooooool


 
Salut Alx06,
 
Je suis en train de tester ton exemple avec le script PHP qui écrit dans un fichier texte. Mais ça ne semble pas marcher correctement. J'ai fait pas mal de recherche et ne trouve rien de très probant pour trouver mon erreur.  
 
La connexion à l'air de se passer correctement: je ne me prend pas de message d'erreur.
Le fichier PHP à l'air de fonctionner: quand je le lance depuis mon browser, j'ai bien le fichier texte qui se créée avec la variable qui s'écrit à l'intérieur.
 
J'ai l'impression que je n'arrive pas à lancer le script PHP depuis le programme Java. Peux-tu indiquer la solution que tu as utilisée?
 
Voici mon code Java (dans l'applet):

Code :
  1. public void post_methode2()
  2. {
  3.  URLConnection connection = null;
  4.  try
  5.  {
  6.   URL url = new URL("http://tests_vh/Java/essai1.php" );
  7.   connection = url.openConnection();
  8.   //connection.setRequestMethod("POST" );
  9.   connection.setDoInput(true);
  10.   connection.setDoOutput(true);
  11.   String datipost = URLEncoder.encode("msg", "UTF-8" ) + "=" + URLEncoder.encode("zutflute", "UTF-8" );
  12.   DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
  13.   wr.writeBytes(datipost);
  14.   wr.flush();
  15.   wr.close();
  16.   m_answer.setText("tout roule" );
  17.  }
  18.  catch (Exception e)
  19.  {
  20.   m_answer.setText("problème" );
  21.   e.printStackTrace();
  22.  }
  23. }


 
 
Voici mon code PHP:

Code :
  1. <?php
  2. //$msg1= $_POST[msg];
  3.     $msg2= $_GET[msg];
  4.    
  5. echo "reçu 5 sur 5";
  6. $fp = @fopen("a.txt", "w" ) or die("Couldn't open $file for writing!" );
  7. //$numBytes = @fwrite($fp, $msg1);
  8. $numBytes = @fwrite($fp, $msg2);
  9. @fclose($fp);
  10. ?>


 
Comme tu le vois, ça colle assez à ce que tu as posté. Je ne sais pas si tu te souviens de la solution mais si tu peux me filer un coup de main, je te serai éternellement reconnaissant  :jap:  
 
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Faire communiquer une applet java avec du php

 

Sujets relatifs
comparer deux chaines de caractere en java script[Java]Utiliser des ressources d'un jar à partir d'un autre jar
[Java] GridBagLayout : j'y suis presque ! (y a juste un JEditorPane...[java] une lib de conversion texte vers html ?
PHP & Java... Raaaaaah ![Java] JLabel l = new JLabel("du texte unicode");
[Java] A quoi sert WebSphere ?[Java RSA] cryptage de données avec une clé publique
[Java & SWT] Comment avoir une fenetre dans une fenetre ?[Résolu] [Regex] reconnaitre une chaîne non complète - java
Plus de sujets relatifs à : Faire communiquer une applet java avec du php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR