Maison > Java > javaDidacticiel > Comment puis-je créer facilement un serveur HTTP de base en Java ?

Comment puis-je créer facilement un serveur HTTP de base en Java ?

Mary-Kate Olsen
Libérer: 2024-12-17 22:33:10
original
759 Les gens l'ont consulté

How Can I Easily Create a Basic HTTP Server in Java?

Création d'un serveur HTTP de base en Java à l'aide de l'API Java SE

Problème :

Développeurs sont souvent confrontés au défi de créer des serveurs HTTP en Java sans analyser manuellement les requêtes ni formater les réponses. Les solutions existantes impliquent du code fastidieux et sujet aux erreurs, sujet aux bugs et à une gestion insuffisante des erreurs.

Réponse : serveur HTTP intégré à Java

Depuis Java SE 6, Oracle JRE inclut un serveur HTTP intégré, connu sous le nom de module jdk.httpserver dans Java 9. Ce serveur simplifie le processus de création de serveurs HTTP de base, éliminant ainsi le besoin pour l'analyse manuelle des requêtes et le formatage des réponses.

Exemple :

Voici un exemple simple d'utilisation du serveur HTTP intégré :

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

public class SimpleHttpServer {

    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
        server.createContext("/test", new MyHandler());
        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 avec le message "Ceci est la réponse" lorsqu'une requête est faite à "/test".

Remarque sur les classes com.sun.* :

Bien que l'utilisation des classes com.sun.* soit généralement déconseillée pour la mise en œuvre des spécifications de l'API Java, le serveur HTTP intégré est une exception. Il fait partie intégrante du JDK et ne pose pas de problèmes de portabilité comme le package sun.*.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal