该节总共三个类:Request\Response\HttpServer---user.dir
该节的目的是实现简单web服务器对静态文件的访问。需要对请求头、请求体的格式有所了解,不然就没有办法解析。
1、Request:
主要的方法是parse,该方法的主要逻辑是解析Socket的Inputstream,读取输入流,解析出请求访问的地址uri,比如:/index.jsp
解析uri时,是针对HTTP请求的标准格式进行解析:GET /articles/news/today.asp HTTP/1.1
2、Response:
该类构造函数需要Request对象,目的之通过Request.getUri()来获取要访问的文件路径。
拼接路径找到实际的文件,然后通过Socket的Outputstream将文件以流的形式写出去。
3、HttpServer:
创建一个ServerSocket,负责监听Socket的请求,获取Socket对象,然后生成Request和Response对象,向Socket端返回数据。
通过HttpServer#main方法启动,访问http://localhost:8080/index.jsp;