近日学习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("");            pw.println("");            pw.println("");            pw.println("This my page! You are welcome!");            pw.println("");            pw.println("");            pw.println("");                              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/就可以了,是不是很神奇呢!