代码对比
✕ Java 8
// Install and configure a web server
// (Apache, Nginx, or embedded Jetty)
// Or write boilerplate with com.sun.net.httpserver
HttpServer server = HttpServer.create(
new InetSocketAddress(8080), 0);
server.createContext("/", exchange -> { ... });
server.start();
✓ Java 18+
// Terminal: serve current directory
$ jwebserver
// Or use the API (JDK 18+)
var server = SimpleFileServer.createFileServer(
new InetSocketAddress(8080),
Path.of("."),
OutputLevel.VERBOSE);
server.start();
发现此代码有问题? 告诉我们。
为什么现代方式更好
零设置
在任意目录运行 jwebserver——无需安装、配置或依赖。
适合演示
无需框架即可提供静态文件和演示原型。
可编程
通过 Java API 可编程地嵌入最小化 HTTP 服务器。
旧方式
外部服务器/框架
现代方式
jwebserver CLI
自 JDK
18
难度
入门
JDK 支持
内置 HTTP 服务器
可用
自 JDK 18 起可用(2022 年 3 月)
工作原理
JDK 18 通过 jwebserver CLI 工具和 com.sun.net.httpserver 包添加了一个简单的、零依赖的 HTTP 文件服务器。
相关文档