首頁 >Java >java教程 >如何使用 Java SE API 建立簡單的 HTTP 伺服器?

如何使用 Java SE API 建立簡單的 HTTP 伺服器?

Linda Hamilton
Linda Hamilton原創
2024-12-12 10:28:12590瀏覽

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

使用 Java SE API 建立 HTTP 伺服器

Java SE 包含用於 HTTP 用戶端功能的 HttpURLConnection,但缺少類似的伺服器端選項。為了避免繁瑣的手動解析和格式化 HTTP 請求和回應,請考慮位於 jdk.httpserver 模組中的 Java SE 6 中引入的內建 HTTP 伺服器。

簡單的HTTP 伺服器範例

這裡使用內建HTTP 伺服器處理請求的範例:

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

}

存取指定URL (例如,http://localhost:8000/ test)使用瀏覽器查看回應:

This is the response

使用com.sun.*類別

The com.sun. 不禁止使用套件,因為它專門適用於使用 Sun/Oracle 特定 API 的開發人員編寫的程式碼,而不是內建的 Java SE API。因此,利用 com.sun. 類別作為 HTTP 伺服器是可以接受的,因為這些類別包含在所有 JDK 實作中。

以上是如何使用 Java SE API 建立簡單的 HTTP 伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn