使用 Java SE API 在 Java 中建立簡單的 HTTP 伺服器
Java SE API 為 HTTP 用戶端功能提供 HttpURLConnection 類別。然而,這讓您需要手動解析 HTTP 請求和格式化 HTTP 回應,這可能是乏味且容易出錯的。
幸運的是,從 Java SE 6 開始,有一個內建的 HTTP 伺服器可用在 jdk.httpserver 模組中(早期版本為 com.sun.net.httpserver)。
這裡是改編自文件的簡單範例:
import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; public class MyHttpServer { 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(); } } }
當 GET 要求傳送到 http://localhost:8000/test 時,此伺服器回應「這是回應」。
注意:
雖然為了實現目的不鼓勵使用com.sun.* 類,但對於實用程式來說並不禁止使用像這個HTTP 伺服器這樣的類。
以上是如何使用 Java SE API 在 Java 中建立簡單的 HTTP 伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!