Heim >Java >javaLernprogramm >Wie kann ich mit jdk.httpserver einen einfachen HTTP-Server in Java erstellen?

Wie kann ich mit jdk.httpserver einen einfachen HTTP-Server in Java erstellen?

DDD
DDDOriginal
2024-12-08 00:38:11827Durchsuche

How Can I Build a Simple HTTP Server in Java Using jdk.httpserver?

Einfacher HTTP-Server in Java: Ein umfassender Leitfaden

In der riesigen Landschaft der Java-Entwicklung kann die Erstellung eines einfachen HTTP-Servers wie eine mühsame Aufgabe erscheinen, die manuelles Parsen und manuelles Parsen erfordert Formatierung. Mit der Einführung von Java SE 6 ist jedoch ein integrierter HTTP-Server entstanden, der eine vereinfachte Lösung für diese Herausforderung bietet.

Eingebetteter HTTP-Server in Java SE

Seit Java SE 6 bietet das Modul jdk.httpserver eine robuste HTTP-Serverfunktionalität. Dieses Modul kapselt die Kernfunktionalität für die Verarbeitung von HTTP-Anfragen und die Formatierung von Antworten und macht eine manuelle Codierung überflüssig.

Implementierung:

Hier ist ein einfaches Beispiel für die Implementierung eines HTTP-Server mit dem Modul 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();
        }
    }
}

Ausführung und Antwort:

Führen Sie diesen Code aus und navigieren Sie in Ihrem Browser zu http://localhost:8000/test. Die folgende Antwort wird angezeigt:

This is the response

Hinweis zu com.sun.*-Klassen:

Während es allgemein empfohlen wird, die Verwendung von com.sun.*-Klassen zu vermeiden , ist es wichtig zu beachten, dass der HttpServer in jdk.httpserver eine Ausnahme darstellt. Diese Klasse ist garantiert in allen Oracle-JDKs vorhanden und gewährleistet so die Portabilität ohne Beeinträchtigung der Kompatibilität.

Das obige ist der detaillierte Inhalt vonWie kann ich mit jdk.httpserver einen einfachen HTTP-Server in Java erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn