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.
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(); } } }
Visitez l'URL spécifiée (par exemple, http://localhost:8000/test) avec votre navigateur pour voir la réponse :
This is the response
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!