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

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

Linda Hamilton
Libérer: 2024-12-12 10:28:12
original
589 Les gens l'ont consulté

How Can I Create a Simple HTTP Server Using the Java SE API?

Utilisation de l'API Java SE pour créer un serveur HTTP

Java SE inclut HttpURLConnection pour la fonctionnalité client HTTP, mais il lui manque une option analogue côté serveur. Pour éviter une analyse et un formatage manuels fastidieux des requêtes et des réponses HTTP, considérez le serveur HTTP intégré introduit dans Java SE 6 situé dans le module jdk.httpserver.

Exemple de serveur HTTP simple

Voici un exemple utilisant le serveur HTTP intégré pour gérer les requêtes :

package com.example;

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;

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.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.getBytes().length); // Specify charset for getBytes()
            OutputStream os = t.getResponseBody();
            os.write(response.getBytes());
            os.close();
        }
    }

}
Copier après la connexion

Visitez l'URL spécifiée (par exemple, http://localhost:8000/test) avec votre navigateur pour voir la réponse :

This is the response
Copier après la connexion

Utilisation de com.sun.* Classes

Le package com.sun. est Son utilisation n'est pas interdite car elle concerne spécifiquement le code écrit par le développeur qui utilise des API spécifiques à Sun/Oracle, et non l'API Java SE intégrée. Ainsi, l'exploitation des classes com.sun. pour le serveur HTTP est acceptable car ces classes sont incluses dans toutes les implémentations JDK.

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