整体思路
- 启动Socket服务,循环的接收浏览器请求
- 接收到请求之后,将流中的数据取出
- 判断目标资源是否存在,若不存在,返回404
- 若存在,将目标资源通过输出流响应给客户端
实现这个服务器应有的类及其功能
- Server:用于开启Socket服务
- Request:用于封装请求,处理请求相关的业务
- Response:封装响应,处理响应相关业务
- Test:测试类
具体代码实现
Server类
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class MyHttpServer {
private int port=8080;
public void receiving(){
try {
ServerSocket serverSocket=new ServerSocket(port);
while (true){
Socket socket=serverSocket.accept();
InputStream inputStream=socket.getInputStream();
MyHttpRequest request=new MyHttpRequest(inputStream);
request.parse();
OutputStream outputStream=socket.getOutputStream();