用java自己写一个demo,接收http请求并响应
时间: 2023-05-23 11:04:01 浏览: 174
好的,以下是一个简单的Java代码示例,用于接收HTTP请求并响应:
```
import java.io.*;
import java.net.*;
import java.util.*;
public class HttpServerDemo {
public static final String CRLF = "\r\n";
public static int PORT = 8080;
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(PORT);
System.out.println("服务器已启动,正在监听端口 " + PORT + "...");
while (true) {
Socket clientSocket = serverSocket.accept();
processRequest(clientSocket);
}
} catch (Exception e) {
System.out.println("服务器启动失败 : " + e.getMessage());
}
}
public static void processRequest(Socket clientSocket) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String requestLine = in.readLine();
System.out.println("HTTP 请求 : " + requestLine);
String headerLine = null;
while ((headerLine = in.readLine()).length() != 0) {
System.out.println("HTTP 请求头 : " + headerLine);
}
OutputStream out = clientSocket.getOutputStream();
Date now = new Date();
String response = "HTTP/1.1 200 OK" + CRLF
+ "Server: HttpServerDemo" + CRLF
+ "Date: " + now.toString() + CRLF
+ "Content-type: text/html" + CRLF
+ CRLF
+ "<html><body><h1>Hello, World!</h1></body></html>";
out.write(response.getBytes());
out.flush();
in.close();
out.close();
clientSocket.close();
}
}
```
这段代码可以创建一个 HTTP 服务器,并监听8080端口的请求。当接收到请求时,它首先读取请求行和请求头,然后发送一个简单的HTML响应,告诉客户端 "Hello, World!"。