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

Persistance des données Java Discussion :

Java connexion serveur MySQL distant


Sujet :

Persistance des données Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 81
    Points : 48
    Points
    48
    Par défaut Java connexion serveur MySQL distant
    Bonjour,

    dans le cadre d'un projet scolaire, je développe une application local en java (JavaFX2) qui doit effectuer des requêtes sur un serveur MySQL distant (Mutualisé OVH).

    Le serveur n'étant pas accessible depuis l'extérieure, je n'arrive pas à trouver la méthode idéal pour communiquer avec lui...

    J'ai d'abord pensé passer par des scripts php mais je n'ai trouvé aucuns exemples concrets et je ne sais pas comment mettre cela en place...

    Pourriez vous me conseiller le meilleur moyen d'arrivé à mes fins. N'hésitez pas à détaillé votre idée

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Des service REST faisant transiter du JSON feront amplement l'affaire.
    Partie serveur: http://coenraets.org/blog/2011/12/re...lim-framework/

    Pour la partie client en java: guidogarcia.net/blog/2012/03/02/how-to-develop-java-rest-client/
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Merci pour ta réponse rapide !

    J'avais entendu parler de rest... Je vais regarder à ça.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    ... tu saurais m"expliquer un peu le fonctionnement pour java car je ne comprends rien du tout...

  5. #5
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est à dire, pourtant le code java est somme tout excessivement simple en utilisant cette api.

    TU crées des objets java correspondant à ton JSON, et ceux ci sont alimentés automatiquement au moment de la requête par l'API.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par sinok Voir le message
    C'est à dire, pourtant le code java est somme tout excessivement simple en utilisant cette api.

    TU crées des objets java correspondant à ton JSON, et ceux ci sont alimentés automatiquement au moment de la requête par l'API.
    Oui mais pour installer l'api il faut un serveur qui accepte java ??!! Et mon serveur OVH mutualisé ne l'accepte pas...

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le coté java c'est seulement coté client, on t'a donné un lien vers la partie serveur en PHP

    Alternativement, si tu ne veux pas faire du REST, tu peux faire du xmlrpc, il y a aussi des libs pour ça.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Bon voilà ou j'en suis...

    Sûr mon serveur j'ai mis un fichier php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    	mysql_connect("xxx","xxx","xxx");
    	mysql_select_db("xxx");
    	$sql=mysql_query("SELECT * FROM t_film WHERE film_titre like '".$_REQUEST['film_titre']."%'");
    	while($row=mysql_fetch_assoc($sql))
    	$output[]=$row;
    	print(json_encode($output));
    	mysql_close();
    ?>
    Et j'y accède via java :

    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
     
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    public class Test 
    {
        public static void main(String[] args) throws ClientProtocolException, IOException 
        {
            HttpClient client = new DefaultHttpClient();
            HttpPost post = new HttpPost("http://iodos.eu/films.php");
     
     
    	//StringEntity input = new StringEntity("product");
            //post.setEntity(input);
     
            List nameValuePairs = new ArrayList(1);
            nameValuePairs.add(new BasicNameValuePair("film_titre", "Matrix")); //you can as many name value pair as you want in the list.
            post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
     
     
            HttpResponse response = client.execute(post);
            BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            String line = "";
            while ((line = rd.readLine()) != null) 
            {
                System.out.println(line);
            }
        }
    }
    Maintenant je suppose qu'il ne me reste qu' a traiter le Json avec java...

    J'ai suivi ce tuto :

    http://harryjoy.com/2012/09/08/simpl...lient-in-java/

  9. #9
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Plop,

    Si tu veux traiter du JSON en Java je te conseille d'utiliser jackson.

    Et sinon tu as compris le principe des services REST.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Merci !

    Faut encore que je trouve de la doc sur le protocol HTTP car j'avais lu je ne sais plus ou qu'il fallait utiliser POST, mais aussi PUT, DELETE...

  11. #11
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Plop,

    Le protocole HTTP définit des commandes, qui sont des types de requêtes. Ces commandes sont GET, PUT, POST, HEAD, DELETE, ...

    Sache qu'il n'y a pas de différence fondamentale entre chaque type de commande (seul quelques changements mineurs, comme le passage de paramètre entre POST/GET ...).

Discussions similaires

  1. Connexion a un serveur Mysql distant
    Par patric1014 dans le forum Administration
    Réponses: 0
    Dernier message: 29/08/2011, 04h14
  2. Connexion java à une BDD MySQL distante via SSH
    Par onigami dans le forum JDBC
    Réponses: 3
    Dernier message: 16/04/2008, 13h47
  3. Connexion serveur Mysql
    Par olitri dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 31/01/2007, 14h37
  4. Serveur Mysql distant
    Par beberd dans le forum Installation
    Réponses: 4
    Dernier message: 01/12/2006, 16h42
  5. connexion serveur mysql
    Par remi59 dans le forum Outils
    Réponses: 1
    Dernier message: 29/11/2006, 11h04

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