用Java编写一个简单的HTTP服务器实例

原创 淩亂°似流年 2025-03-19 19:06 95阅读 0赞

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

  1. import java.io.*;
  2. import java.net.*;
  3. public class SimpleHttpServer {
  4. public static void main(String[] args) {
  5. try (ServerSocket server = new ServerSocket(8000)) {
  6. while (true) {
  7. Socket client = server.accept();
  8. try (PrintWriter writer = new PrintWriter(client.getOutputStream(), true);
  9. BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())))) {
  10. // Handle incoming requests
  11. String requestLine = reader.readLine();
  12. if (requestLine != null && requestLine.startsWith("GET")) {
  13. String pathInfo = requestLine.substring(requestLine.indexOf(' ') + 1)).trim();
  14. if (pathInfo != null) {
  15. writer.println("HTTP/1.1 200 OK");
  16. writer.println("Content-Type: text/html");
  17. writer.println();
  18. // Generate HTML response
  19. writer.println("<html><head><title>Simple HTTP Server</title></head>");
  20. writer.println("<body><h1>Hello, World!</h1></body></html>");
  21. client.close();
  22. }
  23. } else {
  24. System.out.println("Unsupported request: " + requestLine));
  25. }
  26. } catch (IOException e) {
  27. System.out.println("Error handling request: " + e.getMessage());
  28. }
  29. }
  30. } catch (IOException | InterruptedException e) {
  31. System.out.println("Error starting server: " + e.getMessage());
  32. }
  33. }
  34. }

这个服务器会在8000端口监听HTTP请求,并生成相应的HTML响应。请注意,这只是一个基本的示例,实际的HTTP服务器会处理更复杂的情况,如路由、Cookie管理等。

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

发表评论

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

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

相关阅读