首页 >Java >java教程 >如何用 Java 轻松创建基本的 HTTP 服务器?

如何用 Java 轻松创建基本的 HTTP 服务器?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-17 22:33:10712浏览

How Can I Easily Create a Basic HTTP Server in Java?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn