基于Java实现的最简单的Web服务器

2022-06-29 18:46:02 浏览数 (1)

近日学习Java的网络编程,看到一个及其简单的例子,但是却实现了一次Web访问的功能,当然,于Tomcat和Weblogic等Web服务器自然是没法比,可是展现了最基本的Web访问的网络原理的实现,短小精悍,看了才知道,原来还可以这样。

import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; public class HTTPThread implements Runnable {     private Socket socket;     private int count;     public HTTPThread(){     }     public HTTPThread(Socket socket, int count){         this.socket = socket;         this.count = count;     }     @Override     public void run() {         // TODO Auto-generated method stub         try {             OutputStream os = socket.getOutputStream();             PrintWriter pw = new PrintWriter(os);             pw.println("<html>");             pw.println("<head>");             pw.println("<body>");             pw.println("This my page! You are welcome!");             pw.println("</body>");             pw.println("</head>");             pw.println("</html>");             pw.flush();             pw.close();             os.close();         } catch (IOException e) {             e.printStackTrace();         }     } }

import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class TCPServer {     public static void main(String[] args){         int count = 1;         try {             ServerSocket ss = new ServerSocket(8080);             Socket s = null;             while((s=ss.accept()) != null){                 System.out.println("The visitor:" count);                 HTTPThread httpThread = new HTTPThread(s, count);                 Thread thread = new Thread(httpThread);                 thread.start();                 count ;             }         } catch (IOException e) {             e.printStackTrace();         }     } }

编译运行后,通过浏览器访问http://localhost:8080/就可以了,是不是很神奇呢!

0 人点赞