package cn.magicdu.think.socket; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; /** * Http 处理线程 * @author xiaoduc * */ public class HttpThread extends Thread { private Socket socket;//连接点 public HttpThread(Socket socket) { super(); this.socket=socket; } @Override public void run() { try { OutputStream os=socket.getOutputStream();//获得输出流 PrintWriter pw=new PrintWriter(os);//创建PrintWriter 对象 //往输出流写入内容 pw.println("<html>"); pw.println("<body>"); pw.println("hello it's me!!"); pw.println("</body>"); pw.println("</html>"); pw.flush();//清空缓存 pw.close();//关闭输出流 socket.close();//关闭socket } catch (Exception e) { e.printStackTrace(); } } }
package cn.magicdu.think.socket; import java.net.ServerSocket; import java.net.Socket; /** * web 服务端 * @author xiaoduc * */ public class WebServer { public static void main(String[] args) throws Exception{ //用端口号创建一个ServerSocket对象,监听8081端口 ServerSocket ss=new ServerSocket(8081); //开始循环监听来自客户端的请求 Socket s=null; while((s=ss.accept())!=null){ new HttpThread(s).start(); //开始一个新的线程 } ss.close(); } }
运行结果: 在浏览器输入 http:// localhost:8081