Heim >Java >javaLernprogramm >Wie kann ich mit der Java SE API einen einfachen HTTP-Server erstellen?

Wie kann ich mit der Java SE API einen einfachen HTTP-Server erstellen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-12 10:28:12656Durchsuche

How Can I Create a Simple HTTP Server Using the Java SE API?

Verwenden der Java SE-API zum Erstellen eines HTTP-Servers

Java SE umfasst HttpURLConnection für HTTP-Client-Funktionalität, es fehlt jedoch eine analoge serverseitige Option. Um mühsames manuelles Parsen und Formatieren von HTTP-Anfragen und -Antworten zu vermeiden, sollten Sie den in Java SE 6 eingeführten integrierten HTTP-Server in Betracht ziehen, der sich im Modul jdk.httpserver befindet.

Einfaches HTTP-Server-Beispiel

Hier Ein Beispiel für die Verwendung des integrierten HTTP-Servers zur Bearbeitung von Anfragen:

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();
        }
    }

}

Besuchen Sie die angegebene URL (z. B. http://localhost:8000/test) mit Ihrem Browser, um die Antwort zu sehen:

This is the response

Verwenden von com.sun.*-Klassen

Das com.sun.-Paket ist Die Verwendung ist nicht verboten, da es sich speziell um von Entwicklern geschriebenen Code handelt, der Sun/Oracle-spezifische APIs verwendet, nicht die integrierte Java SE-API. Daher ist die Nutzung der com.sun.-Klassen für den HTTP-Server akzeptabel, da diese Klassen in allen JDK-Implementierungen enthalten sind.

Das obige ist der detaillierte Inhalt vonWie kann ich mit der Java SE API einen einfachen HTTP-Server 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