使用 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中文网其他相关文章!