用Java编写一个简单的HTTP服务器实例
在Java中,我们可以使用内置的Socket和HttpURLConnection来创建一个简单的HTTP服务器。下面是一个基本的例子:
import java.io.*;
import java.net.*;
public class SimpleHttpServer {
public static void main(String[] args) {
try (ServerSocket server = new ServerSocket(8000)) {
while (true) {
Socket client = server.accept();
try (PrintWriter writer = new PrintWriter(client.getOutputStream(), true);
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())))) {
// Handle incoming requests
String requestLine = reader.readLine();
if (requestLine != null && requestLine.startsWith("GET")) {
String pathInfo = requestLine.substring(requestLine.indexOf(' ') + 1)).trim();
if (pathInfo != null) {
writer.println("HTTP/1.1 200 OK");
writer.println("Content-Type: text/html");
writer.println();
// Generate HTML response
writer.println("<html><head><title>Simple HTTP Server</title></head>");
writer.println("<body><h1>Hello, World!</h1></body></html>");
client.close();
}
} else {
System.out.println("Unsupported request: " + requestLine));
}
} catch (IOException e) {
System.out.println("Error handling request: " + e.getMessage());
}
}
} catch (IOException | InterruptedException e) {
System.out.println("Error starting server: " + e.getMessage());
}
}
}
这个服务器会在8000端口监听HTTP请求,并生成相应的HTML响应。请注意,这只是一个基本的示例,实际的HTTP服务器会处理更复杂的情况,如路由、Cookie管理等。
还没有评论,来说两句吧...