Java SE 包含用於 HTTP 用戶端功能的 HttpURLConnection,但缺少類似的伺服器端選項。為了避免繁瑣的手動解析和格式化 HTTP 請求和回應,請考慮位於 jdk.httpserver 模組中的 Java SE 6 中引入的內建 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
The com.sun. 不禁止使用套件,因為它專門適用於使用 Sun/Oracle 特定 API 的開發人員編寫的程式碼,而不是內建的 Java SE API。因此,利用 com.sun. 類別作為 HTTP 伺服器是可以接受的,因為這些類別包含在所有 JDK 實作中。
以上是如何使用 Java SE API 建立簡單的 HTTP 伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!