Maison >Java >javaDidacticiel >Comment puis-je créer un serveur HTTP simple en Java à l'aide de jdk.httpserver ?
Dans le vaste paysage du développement Java, la création d'un serveur HTTP simple peut sembler une tâche fastidieuse impliquant une analyse manuelle et formatage. Cependant, avec l'introduction de Java SE 6, un serveur HTTP intégré a émergé, offrant une solution simplifiée à ce défi.
Serveur HTTP intégré dans Java SE
Depuis Java SE 6, le module jdk.httpserver fournit une fonctionnalité de serveur HTTP robuste. Ce module encapsule les fonctionnalités de base pour gérer les requêtes HTTP et formater les réponses, éliminant ainsi le besoin de codage manuel.
Mise en œuvre :
Voici un exemple simple de la façon de mettre en œuvre un Serveur HTTP utilisant le module jdk.httpserver :
// com.stackoverflow.q3732109 import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; public class Test { 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(); } } }
Exécution et Réponse :
Exécutez ce code et accédez à http://localhost:8000/test dans votre navigateur. La réponse suivante s'affichera :
This is the response
Remarque sur les classes com.sun.* :
Bien qu'il soit généralement recommandé d'éviter d'utiliser les classes com.sun.* , il est important de noter que le HttpServer dans jdk.httpserver est une exception. Cette classe est garantie d'être présente dans tous les JDK Oracle, garantissant la portabilité sans compromettre la compatibilité.
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!