使用Java实现简易的HTTP服务器

代码如下(网上参考而来):
  1. import java.io.IOException;
  2. import java.io.PrintStream;
  3. import java.net.ServerSocket;
  4. import java.net.Socket;
  5. import java.net.UnknownHostException;
  6. import java.util.Date;
  7. public class HttpServlet implements Runnable {
  8.     ServerSocket server;
  9.     public HttpServlet() throws UnknownHostException, IOException {
  10.         server = new ServerSocket(8888);
  11.     }
  12.     public static void main(String[] args) throws Exception {
  13.         Thread t = new Thread(new HttpServlet());
  14.         t.start();
  15.     }
  16.     public void run() {
  17.         boolean listening = true;
  18.         while (listening) {
  19.             try {
  20.                 Socket client = server.accept();
  21.                 System.out.println("client:" + client);
  22.                 PrintStream out = new PrintStream(client.getOutputStream(), true);
  23.                 String content = "<h1>It works.<h1>/r/n";
  24.                 out.print("HTTP/1.0 202 OK" + "/r/n");
  25.                 out.print("Server: testserver" + "/r/n");
  26.                 out.print("Date: " + new Date() + "/r/n");
  27.                 out.print("Content-length: " + content.length() + "/r/n");
  28.                 out.print("Content-type: text/html" + "/r/n");
  29.                 out.print("/r/n");
  30.                 out.print(content);
  31.                 out.flush();
  32.                 out.close();
  33.                 client.close();
  34.             } catch (Exception ex) {
  35.                 System.out.println(ex.getMessage());
  36.             }
  37.         }
  38.         if (server != null) {
  39.             try {
  40.                 server.close();
  41.             } catch (IOException e) {
  42.                 e.printStackTrace();
  43.             }
  44.         }
  45.     }
  46. }
访问:http://localhost:8888/即可。
注意:
测试时发现,需要在run方法里面设上断点才能正常访问到页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值