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

Développement Web en Java Discussion :

Faire appel à un serveur web sans interface web [FAQ]


Sujet :

Développement Web en Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Faire appel à un serveur web sans interface web
    Bonjour,

    Je souhaiterais exécuter une url à l'aide d'un programme java installé sur un poste client. Au début, et par souci de simplification j'ai pensé à un programme qui se chargerait de lancer le navigateur avec une url en paramètre. Cela aurait donné quelque chose comme

    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
    public class lancementApplication  {
    	static final String C_CHEMIN_NAVIGATEUR = "C:\\Program Files\\Internet Explorer\\iexplore.exe"; 
    static final String C_PARAM = "..."	
     
    	public static void main(String[] args){
     
    		try
    		{
    			Runtime runtime = Runtime.getRuntime();
    			runtime.exec(C_CHEMIN_NAVIGATEUR +C_PARAM );
    		}
    		catch(Exception e)
    		{
    			System.out.print("ERR MAIN>"+e.toString());
    		}
     
     
    	} 
     
    }
    Mais de mémoire les url (get) sont limité à 255 caractères... J'ai fait quelques recherches et j'ai finalement trouvé que la longeur d'une url dans Internet Explorer était de 2 083 caractères....

    J'en arrive donc à mon problème... Je souhaite demander un serveur web d'éxécuter une url sans limite de taille... La solution simpliste illustrée ci-dessus consitant à lancer le navigateur avec une url en paramètre ne peut donc être utilisée dans le cas présent....

    L'un d'entre vous peut-il me donner quelques tuyaux sur la façon de s'y prendre... sans passer par un formulaire html car je veux que le programme java fasse directement appel à un serveur web distant...

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    T'as regardé dans le package standard java.net ? Y a une classe URL qui te permettra facilement d'invoquer une URL distante. Maintenant, cette classe présente des limitations, pas de gestion du timeout par exemple, ce qui peut paraître gênant. Je t'invite donc aussi à jeter un oeil à HttpClient de Jakarta (http://jakarta.apache.org/commons/httpclient/) avec lequel tu pourras faire des trucs de la mort

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Effectivement d'après ce que j'ai pu lire on peut y insérer des clés/valeurs afin de les envoyer en post (probablement dans l'entête de la requête ?....).

    J'ai essayé de décompresser le zip mais à la compilation j'ai l'erreur suivante :

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.apache.commons.httpclient.HttpMethodBase.<clinit>(HttpMethodBase.java:102)
    at lancementApplication.main(lancementApplication.java:17)

    Le codes est pourtant très simple
    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
    public class lancementApplication  {
    	static final String C_DOMAINE= "xxx";
     
     
     
    	public static void main(String[] args){
     
    		try
    		{
    			PostMethod post = new PostMethod(C_DOMAINE);
     
     
    			 NameValuePair[] data = {
    			          new NameValuePair("appli", "xxx"),
    			          new NameValuePair("action", "xxx"), 
    			          new NameValuePair("nom", "xxx"), 
    			          new NameValuePair("motdepasse", "xxx"), 
     
    			 };
     
    			post.setRequestBody(data);
    	}
    }


    C'est probablement un problème avec les path via eclipse.. Pourtant j'ai ajouté le .jar dans les propriété du projet.... une idée

    Au passage merci mac pour ta réponse

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Pour info je viens de trouver d'où venais l'erreur il faut récupérer 3 jar :
    - commons-httpclient-3.0.1.jar
    - commons-logging-api-1.1.jar
    - commons-codec-1.3.jar

    A présent plus de problème de compilation n'y d'éxécution... reste à faire fonctionner tout ça...

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Et bien tout fonctionne très bien.. Encore merci mac pour le tuyau.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/08/2013, 10h24
  2. Serveur FTP avec interface web utilisateur
    Par Butler dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 20/01/2011, 18h13
  3. Serveur Ghost avec interface Web
    Par frio2k4 dans le forum Réseau
    Réponses: 2
    Dernier message: 30/09/2009, 11h07
  4. Appli web sans le web
    Par Mister Nono dans le forum Struts 1
    Réponses: 10
    Dernier message: 30/05/2007, 10h40
  5. Administration serveur web par interface web
    Par souk dans le forum Réseau
    Réponses: 1
    Dernier message: 16/05/2006, 13h43

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