📜  HttpServer 示例 java (1)

📅  最后修改于: 2023-12-03 15:01:20.636000             🧑  作者: Mango

HttpServer 示例 java

Java中的HttpServer是用来处理HTTP请求和响应的轻量级的HTTP服务器。它是自JDK1.6中引入的,提供了一种简单的方法来创建自己的HTTP服务器实例。

HttpServer 类

HttpServer类是一个表示HTTP服务器的抽象类。它提供了一些方法用于监听和处理HTTP请求。

下面是HttpServer类的构造函数:

public abstract class HttpServer extends Object {

  public static HttpServer create(InetSocketAddress addr, int backlog) throws IOException;

  //...
}
创建HttpServer实例

要创建HttpServer实例,可以使用以下代码:

HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);

这里创建了一个在本地主机的8000端口侦听的HttpServer实例。

处理HTTP请求

要处理HTTP请求,可以使用HttpHandler接口。HttpHandler接口有一个handle方法,该方法将在每个HTTP请求到达服务器时被调用。

以下是HttpHandler接口的定义:

public interface HttpHandler {

  void handle(HttpExchange exchange) throws IOException;
}

在handle方法中,可以使用HttpExchange对象来读取输入流和写入输出流。

以下是一个简单的处理HTTP请求的示例:

public class MyHttpHandler implements HttpHandler {

  @Override
  public void handle(HttpExchange exchange) throws IOException {
    String response = "Hello, World!";
    exchange.sendResponseHeaders(200, response.length());
    OutputStream os = exchange.getResponseBody();
    os.write(response.getBytes());
    os.close();
  }
}

server.createContext("/", new MyHttpHandler());

这个示例创建了一个简单的HTTP处理程序,向客户端发送一个“Hello,World!”消息。你可以通过createContext(String contextPath, HttpHandler handler)方法将该处理程序添加到HttpServer实例中。

启动HttpServer实例

最后,调用HttpServer的start()方法即可启动HttpServer实例:

server.start();
总结

HttpServer为Java程序员提供了一种灵活简单的方法来创建自己的HTTP服务器。通过使用HttpHandler接口来处理HTTP请求,可以实现各种基于HTTP的应用程序,例如Web应用程序或RESTful API。