如何在Java中实现一个简单的HTTP服务器?

原创 £神魔★判官ぃ 2024-12-12 10:15 94阅读 0赞

在Java中,我们可以使用内置的Socket和服务端口来创建一个简单的HTTP服务器。以下是一个基本的例子:

  1. import java.io.*;
  2. import java.net.*;
  3. public class SimpleHttpServer {
  4. public static void main(String[] args) throws IOException {
  5. // 设置服务端口
  6. int port = 8000;
  7. // 创建ServerSocket对象,用于监听客户端的连接请求
  8. ServerSocket serverSocket = new ServerSocket(port);
  9. System.out.println("HTTP Server started on port " + port);
  10. // 进入服务器循环,等待客户端连接
  11. while (true) {
  12. Socket clientSocket = serverSocket.accept();
  13. System.out.println("Client connected: " + clientSocket.getRemoteSocketAddress()));
  14. try {
  15. handleRequest(clientSocket);
  16. } catch (IOException e) {
  17. System.err.println("Error handling request: " + e.getMessage());
  18. clientSocket.close();
  19. }
  20. }
  21. }
  22. private static void handleRequest(Socket clientSocket) throws IOException {
  23. // 创建一个PrintWriter对象,用于向客户端发送响应
  24. PrintWriter writer = new PrintWriter(clientSocket.getOutputStream(), true));
  25. // 发送HTTP响应头
  26. writer.println("HTTP/1.1 200 OK");
  27. writer.println("Content-Type: text/html;charset=UTF-8");
  28. // 发送HTTP响应主体(在这个例子中,我们只是简单地发送一个HTML页面)
  29. writer.println("<html><head><title>HTTP Server Response</title></head>");
  30. writer.println("<body><h1>Hello, World!</h1></body></html>");
  31. // 关闭PrintWriter对象
  32. writer.close();
  33. }
  34. }

这个Java程序创建了一个简单的HTTP服务器,监听在8000端口。当有客户端连接时,它会发送一个200 OK的HTTP响应,并附带一个HTML页面作为响应内容。

注意:这只是一个基本的示例,实际的生产环境中可能需要处理更多的细节和异常情况。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,94人围观)

还没有评论,来说两句吧...

相关阅读