Wie kann ich ganz einfach einen einfachen HTTP-Server in Java erstellen?
Dec 17, 2024 pm 10:33 PMErstellen 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!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?

Top 4 JavaScript -Frameworks in 2025: React, Angular, Vue, Svelte

Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?

Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?

Node.js 20: wichtige Leistungssteigerung und neue Funktionen

ICEBERG: Die Zukunft von Data Lake Tabellen

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Problem behoben

Wie kann ich funktionale Programmierungstechniken in Java implementieren?
