Maison > Java > javaDidacticiel > Comment créer un serveur HTTP simple en Java à l'aide de l'API Java SE ?

Comment créer un serveur HTTP simple en Java à l'aide de l'API Java SE ?

DDD
Libérer: 2024-12-09 21:16:14
original
497 Les gens l'ont consulté

How to Create a Simple HTTP Server in Java using the Java SE API?

Création d'un serveur HTTP simple en Java avec l'API Java SE

L'API Java SE fournit la classe HttpURLConnection pour les fonctionnalités du client HTTP. Cependant, cela vous laisse la tâche d'analyser manuellement les requêtes HTTP et de formater les réponses HTTP, ce qui peut être fastidieux et sujet aux erreurs.

Heureusement, depuis Java SE 6, un serveur HTTP intégré est disponible. dans le module jdk.httpserver (com.sun.net.httpserver dans les versions antérieures).

Voici un exemple simple adapté de la documentation :

import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class MyHttpServer {

    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
        server.createContext("/test", new MyHandler());
        server.setExecutor(null); // creates a default executor
        server.start();
    }

    static class MyHandler implements HttpHandler {
        @Override
        public void handle(HttpExchange t) throws IOException {
            String response = "This is the response";
            t.sendResponseHeaders(200, response.length());
            OutputStream os = t.getResponseBody();
            os.write(response.getBytes());
            os.close();
        }
    }

}
Copier après la connexion

Ce serveur répond par "Voici la réponse" lorsqu'une requête GET est envoyée à http://localhost:8000/test.

Remarque :

Bien que l'utilisation des classes com.sun.* soit déconseillée à des fins d'implémentation, elle n'est pas interdite pour les classes utilitaires comme celle-ci HTTP. serveur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal