# HttpServer **Repository Path**: we-127487/HttpServer ## Basic Information - **Project Name**: HttpServer - **Description**: Http服务器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-05-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HttpServer #### 项目介绍 手写的HTTP服务器,模拟tomcat,使用到了socket编程,多线程,IO输入流的操作,对Http协议的解析与封装,自定义Servlet与ServletContext,最后做了xml的解析。 #### 软件说明 1. demo1和demo2包下的代码是HTTPServer迭代更新的过程代码,demo3包下的代码是最终代码 #### HttpServer发展 1. 创建ServerSocket,搭起服务器 2. 通过socket的输入输出流,接受请求(get,post) 3. 分析HTTP响应信息(HTTP协议/版本号 状态码 描述 响应头 响应体),对请求做一个响应 4. 封装一个Response 5. 封装Request,对HTTP请求做解析(方法 请求资源路径 HTTP协议/版本号 请求头 请求体),解析出方法,url,请求参数等有用信息 6. 封装Servlet(Request,Response),使具体的业务逻辑可以继承Servlet,重写其中的doGet或者doPost方法 7. 加入多线程,每进来一个请求为其分配一个线程(Dispatcher) 8. 封装ServletContext,保存servlet与url之间的映射关系 9. 在WebApp获取到servlet与url之间的映射关系 10. 添加Xml文件,对Xml进行解析 ps:myeclipse