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 :

mini interface web


Sujet :

Services Web Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2013
    Messages : 40
    Points : 28
    Points
    28
    Par défaut mini interface web
    Bonjour a tous,

    J'ai fais un programme Java avec eclipse qui tourne sur un serveur Linux, il est lance par cron toute les heures.
    Jusque la tout va bien, ça marche et c'est stable.

    Pour voir ou en est le programme a un instant t, je regarde mes logs.
    Ce que je souhaite, c'est implémenter dans mon application un mini serveur web: il écoute sur le port 80 (ou autre), et m'affiche une petit: "<html><body>J'en suis a la tache 750 sur 1050.</body></html>".
    Je recherche vraiment une solution légère.

    Je n'ai apparemment pas trouve les bon mots clés sur Google pour trouver mon bonheur... Merci d'avance d’éclairer ma lanterne!

  2. #2
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 468
    Points : 2 996
    Points
    2 996
    Par défaut
    Pour ce cas, je te recommanderais d'utiliser Vert.x. Le Hello World qu'on voit sur https://vertx.io/blog/my-first-vert-x-3-application/ doit pouvoir facilement s'adapter a ton cas. L'un des avantages de Vert.x c'est que ca demande pas de serveur d'application et qu'a part Vert.x et Java, il n'y a pas grand chose a connaitre pour l'utiliser (contraitement a Java EE ou Spring qui sont plus durs d'acces).
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2013
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    Bonjour et merci de ta réponse.

    J'avoue avoir trouve Vert.X encore trop "lourd" pour mon besoin.
    Voici ce que j'ai finalement fait:

    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
     
    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.util.Date;
     
    /**
     * Java program to create a simple HTTP Server.
     */
    public class BenBenWebServer extends Thread {
     
    	private int _thePort;
    	private String _ttt = "";
    	private boolean continueProducing = true;
     
    	public BenBenWebServer(int thePort) {
    		_thePort = thePort;
    	}
     
    	public void ttt(String newTtt) {
    		_ttt = _ttt + "</br>" + newTtt;
    	}
     
    	public void stopServer() {
    		continueProducing = false;
    	}
     
     
    	public void run() {
    		try {
    	        ServerSocket server = new ServerSocket(_thePort);
    	        System.out.println("Listening for connection on port " + _thePort + " ....");
    	        while (continueProducing) {
    	            try (Socket socket = server.accept()) {
    	                Date today = new Date();
     
    	                String httpResponse = "";
    	                httpResponse = httpResponse + "HTTP/1.1 200 OK\r\n";
    	                httpResponse = httpResponse + "Content-Type: text/html\r\n";
    	                httpResponse = httpResponse + "\r\n";
     
    	                httpResponse = httpResponse + "<html>";
    	                httpResponse = httpResponse + today;
    					httpResponse = httpResponse +  _ttt;
     
     
    	                httpResponse = httpResponse + "</html>";
    	                socket.getOutputStream().write(httpResponse.getBytes("UTF-8"));
    	            }
    	        }
    		}
    		catch (IOException e) {}
        }
     
    }
    et dans le main:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    theWebServer = new BenBenWebServer(8080);
    theWebServer.start();
     
    //bla bla bla
     
    theWebServer.stopServer();
    Avantage: c'est très simple, léger, et n'utilise que des librairies de base.
    J'ai mis la boucle dans un try comme un barbare: je suis sure (du moins j’espère) que l'interface web ne fera pas planter le reste du programme.
    Inconvenant: Aucune erreur/ exception n'est gérée: il me faut parfois actualiser la page web 2 ou 3 fois avant d'avoir quelque chose.

    Donc attention si quelqu’un de passage reprend ce code: c'est vraiment pour un usage ponctuel, et non pour fournir une interface a vos utilisateurs.

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

Discussions similaires

  1. Interface Web, besoin de conseil !
    Par Skarlix dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 29/08/2005, 10h13
  2. Réponses: 2
    Dernier message: 20/08/2005, 13h53
  3. [Outils]Interface WEB pour la gestion de projet ?
    Par elitost dans le forum Outils
    Réponses: 8
    Dernier message: 04/03/2005, 14h46
  4. Enterprise Manager 10g (interface web)
    Par navypas dans le forum Oracle
    Réponses: 8
    Dernier message: 23/11/2004, 15h07
  5. Cherche RAD pour la réalisation d'interfaces Web/swing
    Par RocketArena dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 14/09/2004, 14h22

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