Erstellen eines einfachen HTTP-Servers in Java mithilfe der Java SE API
Problem:
Entwickler stehen oft vor der Herausforderung, HTTP-Server in Java zu erstellen, ohne Anfragen manuell zu analysieren und Antworten zu formatieren. Bestehende Lösungen beinhalten langwierigen und fehleranfälligen Code, der anfällig für Fehler und unzureichende Fehlerbehandlung ist.
Antwort: Integrierter HTTP-Server in Java
Seit Java SE 6, Oracle JRE enthält einen integrierten HTTP-Server, der in Java 9 als jdk.httpserver-Modul bekannt ist. Dieser Server vereinfacht den Prozess der Erstellung grundlegender HTTP-Server und entfällt die Notwendigkeit einer manuellen Anforderungsanalyse und Antwortformatierung.
Beispiel:
Hier ist ein einfaches Beispiel für die Verwendung des integrierten HTTP-Servers:
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(); } } }
Dieser Server antwortet mit der Meldung „Dies ist die Antwort“, wenn eine Anfrage gestellt wird "/test".
Hinweis zu com.sun.*-Klassen:
Während die Verwendung von com.sun.*-Klassen für die Implementierung von Java-API-Spezifikationen im Allgemeinen nicht empfohlen wird, Eine Ausnahme bildet der integrierte HTTP-Server. Es ist ein integraler Bestandteil des JDK und wirft keine Portabilitätsprobleme auf wie das sun.*-Paket.
Das obige ist der detaillierte Inhalt vonWie kann ich ganz einfach einen einfachen HTTP-Server in Java erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!