java写一个http的服务器,可以get
时间: 2024-03-23 15:38:22 浏览: 26
好的,以下是一个简单的 Java HTTP GET 服务器示例代码:
```java
import java.io.IOException;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpServer;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpExchange;
public class HttpServerExample {
public static void main(String[] args) throws Exception {
// 创建一个 HttpServer 实例,并监听本地的 8080 端口
HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0);
// 创建一个处理请求的 Handler
server.createContext("/", new MyHandler());
// 启动服务器
server.start();
System.out.println("Server started on port 8080");
}
static class MyHandler implements HttpHandler {
@Override
public void handle(HttpExchange exchange) throws IOException {
// 获取请求方法
String method = exchange.getRequestMethod();
if (method.equals("GET")) {
// 获取请求的 URI
String uri = exchange.getRequestURI().toString();
System.out.println("Received GET request for URI: " + uri);
// 设置响应头
exchange.getResponseHeaders().set("Content-Type", "text/plain");
// 设置响应状态码
exchange.sendResponseHeaders(200, 0);
// 输出响应数据
String response = "Hello, world!";
exchange.getResponseBody().write(response.getBytes());
exchange.getResponseBody().close();
} else {
// 如果不是 GET 请求,返回 405 Method Not Allowed
exchange.sendResponseHeaders(405, -1);
}
}
}
}
```
以上代码创建了一个监听 8080 端口的 HTTP 服务器,并且实现了一个处理 GET 请求的 Handler。你可以运行该程序,在浏览器中访问 http://localhost:8080/ ,即可收到服务器返回的 "Hello, world!" 消息。