概要
用Java创建一个简单的HTTP服务端程序,对任何请求只能做出相同的响应,且不支持同时处理多个请求。
代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.nio.charset.StandardCharsets;
import java.util.Date;
public class SimpleHTTPServer {
public static void main(String[] args) throws Exception {
final ServerSocket server = new ServerSocket(8080);
System.out.println("Listening for connection on port 8080 ....");
while (true) {
try(final var client = server.accept()) {
// 打印请求内容
InputStreamReader psr = new InputStreamReader(client.getInputStream());
var reader = new BufferedReader(psr);
var line = reader.readLine();
while (!line.isEmpty()) {
System.out.println(line);
line = reader.readLine();
}
// 响应
var today = new Date();
var response = "HTTP/1.1 200 OK\r\n\r\n" + today;
client.getOutputStream().write(response.getBytes(StandardCharsets.UTF_8));
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
截图
客户端
服务端