68 votes

Créer un serveur HTTP simple avec Java?

Quel est le moyen le plus simple de créer un serveur HTTP simple avec Java? Y a-t-il des bibliothèques communes qui facilitent cela? Je n'ai qu'à répondre à GET/POST et je ne peux pas utiliser un serveur d'applications.

Quel est le moyen le plus simple d'y parvenir?

47voto

Kris Points 8813

Utilisez la jetée .

Didacticiel

Jetty est assez léger, mais il fournit un conteneur de servlet qui peut contredire votre exigence d'utiliser un "serveur d'application".

37voto

Philippe Signoret Points 1545

C'est la façon dont j'allais à ce sujet:

  1. Démarrer une ServerSocket d'écoute (probablement sur le port 80).
  2. Une fois que vous obtenez une demande de connexion, d'accepter et de passer à un autre thread/processus (ce qui laisse votre ServerSocket disponibles rester à l'écoute et à accepter les autres connexions).
  3. Analyser le texte de la demande (en particulier, les en-têtes, où vous pourrez voir si c'est un GET ou POST, et les paramètres passés.
  4. Réponse avec vos propres en-têtes (Content-Type, etc.) et le HTML.

Je trouve qu'il est utile d'utiliser Firebug (dans Firefox) pour voir des exemples d'en-têtes. C'est ce que vous souhaitez émuler.

Essayez ce lien: - Multi-thread du Serveur HTTP par Exemple (Java)

23voto

ng. Points 4096

Le plus simple est simple: il y a un tutoriel, pas de WEB-INF, pas d'API Servlet, pas de dépendances. Juste un simple serveur HTTP léger dans un seul JAR.

8voto

Romain Hippeau Points 16175

Si vous utilisez le JDK Sun vous pouvez utiliser cette fonction dans la bibliothèque
Regardez ce site sur la façon de l'utiliser.

Si n ot il y a plusieurs Open Source HTTP Serveurs ici que vous pouvez intégrer à votre logiciel.

3voto

Charles Dobson Points 31

J'ai écrit un tutoriel expliquant comment écrire un serveur HTTP simple il y a longtemps en Java. Explique ce que fait le code et pourquoi le serveur est écrit de cette façon au fur et à mesure de la progression du didacticiel. Pourrait être utile http://kcd.sytes.net/articles/simple_web_server.php

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X