📅  最后修改于: 2023-12-03 15:01:20.636000             🧑  作者: Mango
Java中的HttpServer是用来处理HTTP请求和响应的轻量级的HTTP服务器。它是自JDK1.6中引入的,提供了一种简单的方法来创建自己的HTTP服务器实例。
HttpServer类是一个表示HTTP服务器的抽象类。它提供了一些方法用于监听和处理HTTP请求。
下面是HttpServer类的构造函数:
public abstract class HttpServer extends Object {
public static HttpServer create(InetSocketAddress addr, int backlog) throws IOException;
//...
}
要创建HttpServer实例,可以使用以下代码:
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
这里创建了一个在本地主机的8000端口侦听的HttpServer实例。
要处理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的start()方法即可启动HttpServer实例:
server.start();
HttpServer为Java程序员提供了一种灵活简单的方法来创建自己的HTTP服务器。通过使用HttpHandler接口来处理HTTP请求,可以实现各种基于HTTP的应用程序,例如Web应用程序或RESTful API。