使用 Java SE API 在 Java 中创建基本 HTTP 服务器
问题:
开发人员经常面临在 Java 中创建 HTTP 服务器而无需手动解析请求和格式化响应的挑战。现有的解决方案涉及繁琐且容易出错的代码,很容易出现错误且错误处理不足。
答案:Java 中的内置 HTTP Server
自 Java SE 以来6、Oracle JRE 包含一个内置的 HTTP 服务器,在 Java 9 中称为 jdk.httpserver 模块。该服务器简化了创建基本 HTTP 的过程服务器,消除了手动请求解析和响应格式化的需要。
示例:
以下是使用内置 HTTP 服务器的简单示例:
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.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(); } } }
当请求被发送到时,该服务器会响应消息“这是响应” "/test".
关于 com.sun.* 类的注释:
虽然通常不鼓励使用 com.sun.* 类来实现 Java API 规范,内置 HTTP 服务器是一个例外。它是 JDK 的一个组成部分,不会像 sun.* 包那样带来可移植性问题。
以上是如何用 Java 轻松创建基本的 HTTP 服务器?的详细内容。更多信息请关注PHP中文网其他相关文章!