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 :

Java et navigateur sans serveur


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut Java et navigateur sans serveur
    Bonjour à tous,

    J'ai une application java du type serveur/client (sans serveur web, sans jsp...) et mon client est un navigateur :

    Lorsque je tape l'url de mon serveur sur le port d'écoute de mon application, mon serveur reçoit via un InputStream les informations suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    GET / HTTP/1.1
    Host: 192.168.1.10:443
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 115
    DNT: 1
    Connection: keep-alive
    Jusque là aucun problème, le navigateur attend une réponse et c'est là que j'ai besoin de vous !

    Quelles sont les informations que je dois envoyer au navigateur pour qu'il puisse les interpréter et éventuellement afficher du code HTML ?

    Je dois lui envoyer des entêtes HTTP et HTML mais comment ?

    Quel sera le stream à envoyer dans mon PrintStream ?


    J'espère que ma question est clair et que vous pourrez m'aider !

    Merci beaucoup.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Normalement, c'est le navigateur qui fait lui meme la connexion, vous n'avez pas à gérer ça à part. Toutes les entêtes sont destinées au navigateur. (Règle ce caching, règle d'affichage, règle de compression, etc)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut
    D'accord, j'oublie donc les entêtes http.

    Lors de la connection du navigateur, il est en attente de réponse de la part du serveur.

    La question va certainement paraitre stupide, mais quelle est la réponse attendu par le navigateur ? De quelle forme est-elle ? Peut-elle être simplement envoyer par le serveur via un PrintStream/getOutputStream est une String ?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    la réponse qu'il attends c'est ce que tu viens de nous afficher: l'intégralité de ce que répond le serveur. Qu'est-ce que vous essayez de faire?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut
    Lorsque le navigateur se connecte le message reçu par l'application java et celui que j'ai posté plus haut.

    Le navigateur se met en attente de réponse, que dois-je lui envoyer pour que d'une part il ne soit plus en attente de réponse, et d'autre part il puisse éventuellement afficher du code html ?

    edit : Le serveur ne va quand même pas renvoyer au navigateur son message

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    j'ai pas trop bien compris ce que vous faites là. En quoi java interviens pour votre navigateur?? Vous essayez de faire quoi, concrètement?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut
    En fait mon problème était : "Comment envoyer des données au navigateur si le client qui se connecte au serveur est un navigateur ?"


    Je viens de résoudre mon problème (je ne sais pas comment car cela ne fonctionnait pas avant !) et en fait la solution était très simple :

    Lorsque le navigateur est connecté, je peux lui envoyer directement du code HTML de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PrintStream p = new PrintStream(client.getOutputStream());
    p.println(/*Code HTML*/);
    p.close();
    Et le code envoyé est directement le code source reçu par le navigateur.

    J'ai certainement dû corriger un problème sans m'en rendre compte.

    Merci quand même pour vos explications !

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/07/2011, 12h59
  2. [JMS] JMS autonome sans serveur d'application Java EE ?
    Par herguem dans le forum Java EE
    Réponses: 1
    Dernier message: 27/07/2009, 20h57
  3. [Stratégie] MySQL embarqué / Acces sans serveur ?
    Par Rampa dans le forum Administration
    Réponses: 1
    Dernier message: 12/07/2005, 13h42
  4. Gestion de formulaire avec xml et sans serveur ?
    Par meliane dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/05/2004, 19h57

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