首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 內建 HttpServer 實現極簡 Web Server:50 行代碼可運行

     編輯:Java 相關知識

核心類

JDK 6+ 自帶 com.sun.net.httpserver.HttpServer(非標準 API 但廣泛可用),無需第三方依賴即可啟動 HTTP 服務。

完整代碼

import com.sun.net.httpserver.*;
import java.io.*;
import java.net.InetSocketAddress;

class MyHandler implements HttpHandler {
    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();
    }
}

public class MyServer {
    public static void main(String[] args) {
        try {
            HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
            server.createContext("/myapp", new MyHandler());
            server.setExecutor(null); // 使用默認執行器
            server.start();
            System.out.println("Server started on https://localhost:8000/myapp");
        } catch (IOException e) { e.printStackTrace(); }
    }
}

驗證

瀏覽器訪問 https://localhost:8000/myapp → 顯示 "This is the response"。

擴展方向

  • 解析 t.getRequestHeaders()、t.getRequestURI()、t.getRequestBody() 做路由分發。
  • 靜態文件服務:讀取文件系統、設置 Content-Type、支援 Range 斷點續傳。
  • 模板引擎整合(Velocity/FreeMarker/Thymeleaf)渲染動態頁面。
  • SSL:HttpsServer + KeyStore 配置。
  • 生產級仍建議 Jetty/Tomcat/Undertow,但內建 HttpServer 適合:嵌入式測試、Mock Server、輕量微服務、教學演示、無依賴部署環境。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved