首页 > Java > java教程 > 如何使用 Java SE API 创建简单的 HTTP 服务器?

如何使用 Java SE API 创建简单的 HTTP 服务器?

Linda Hamilton
发布: 2024-12-12 10:28:12
原创
585 人浏览过

How Can I Create a Simple HTTP Server Using the Java SE API?

使用 Java SE API 创建 HTTP 服务器

Java SE 包含用于 HTTP 客户端功能的 HttpURLConnection,但缺少类似的服务器端选项。为了避免繁琐的手动解析和格式化 HTTP 请求和响应,请考虑位于 jdk.httpserver 模块中的 Java SE 6 中引入的内置 HTTP 服务器。

简单的 HTTP 服务器示例

这里使用内置 HTTP 服务器处理请求的示例:

package com.example;

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;

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.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.getBytes().length); // Specify charset for getBytes()
            OutputStream os = t.getResponseBody();
            os.write(response.getBytes());
            os.close();
        }
    }

}
登录后复制

访问指定 URL (例如,http://localhost:8000/test)使用浏览器查看响应:

This is the response
登录后复制

使用 com.sun.* 类

The com.sun. 不禁止使用包,因为它专门适用于使用 Sun/Oracle 特定 API 的开发人员编写的代码,而不是内置的 Java SE API。因此,利用 com.sun. 类作为 HTTP 服务器是可以接受的,因为这些类包含在所有 JDK 实现中。

以上是如何使用 Java SE API 创建简单的 HTTP 服务器?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板