java模拟BS架构


package test01;

import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public  class  Test{
    public static  void main(String[] args){
        try{
            //注册端口
            ServerSocket ss =  new ServerSocket(8080);
            //创建一个循环,接收多个客户端的请求
            while (true){
                Socket socket =  ss.accept();
                // 交给一个独立的线程来处理
                new MyThread(socket).start();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
class  MyThread extends  Thread{
    private  Socket socket;
    public  MyThread (Socket socket){
        this.socket = socket;
    }
    @Override
    public  void run(){
        //响应消息给流量器显示
        // 浏览器是基于 HTTP通信协议,响应格式必须满足HTTP格式的要求
        try{
            PrintStream my =  new PrintStream(socket.getOutputStream());
            my.println("HTTP/1.1 200 OK");//响应头文件
            my.println("Content-Type:text/html;charset=UTF-8");//响应的数据类型或者文本内容
            my.println("<span class='red'>我是HTML</span>");//必须换一行
            Thread.sleep(3000);
            my.close();
        }catch (IOException | InterruptedException e){
            e.printStackTrace();
        }

    }
}


您可能还会对下面的文章感兴趣: