直接代码:
package cn.tedu.core; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; /**ZHEzhe这个类用来读取服务端的程序 * 1.生命ServerSocket对象 * 2.在构造函数中完成ServerSocket对象的初始化 * 3.提供start方法,接收客户端的请求并相应 * 4.提供main方法,启动服务器 * */ public class WebServer { //声明serversocket对象,,他是站在服务端的 private ServerSocket serverSocket; //在构造方法中完成初始化 public WebServer() { try { serverSocket = new ServerSocket(8080); } catch (IOException e) { e.printStackTrace(); } } //tigongstartfangfa public void start(){ try { while (true){ //持续接收客户端请求 Socket socket = serverSocket.accept(); //向浏览器返回 /*组织的数据格式不符合http协议 OutputStream outputStream = socket.getOutputStream(); outputStream.write("hello".getBytes()); outputStream.flush();*/ //改造输出格式 /*PrintWriter 输出字符 * PrintStream 输出除了字符还可以图片啥的*/ PrintStream ps = new PrintStream(socket.getOutputStream()); //拼接状态行 ps.println("HTTP/1.1 200 OK"); //响应头,相应内容:网页类型 ps.println("Context-Type:text/html"); //相应内容的长度 String data = "hello server~"; ps.println("Content-Length:"+data.length()); //空白行 ps.println(); //拼接相应实体内容 ps.write(data.getBytes()); ps.flush(); socket.close(); } } catch (IOException e) { e.printStackTrace(); } } //提供main方法启动 public static void main(String[] args) { WebServer webServer = new WebServer(); //接收请求并相应 webServer.start(); } }