使用JAVA实现简易HTTP服务器
- 简述系统
- 参考资料:
- 参考博客:
- 别人是怎么做的
- 2. 技术储备:
- 需要什么技术?
- 已具备的技术基础?
- 准备学习什么技术?
简述系统
参考HTTP协议,使用Java Socket网络编程实现简易的多线程HTTP服务器,可以正常响应客户端(浏览器)的GET与POST。可以根据浏览器指定访问的URL获取服务器上相应的网页文件(.html)并返回。
参考资料:
Java参考代码:java实现http服务器述 HTTP简介:
http://zsxxsz.iteye.com/blog/568250
。
参考博客:
JAVA实现HTTP服务器端静态Web服务器-面向对象开发面向对象系统分析与设计
HTTP 代理服务器的设计与实现
别人是怎么做的
- 把提供服务的Web服务器抽象成一个类(HTTPWebServer)
提供Web服务器的初始化方法,在初始化方法里面创建socket对象
初始化服务端套接字,设置监听,
提供一个开启Web服务器的方法,让Web服务器处理客户端请求操作。 - 1、使用socket简单实现http协议
2、使用jdk自导的httpserver组件
3、使用apache开源的httpcore组件实现。
MyHttpClient.java: 模拟浏览器的行为, 向服务器发送get/post请求,然后打印出服务器返回的消息。这样就可以查看当一个请求到来之后, 服务器到底都给浏览器发送了哪些消息。 - MyServer.java: 模拟server端接收浏览器的请求,然后把整个请求的报文打印出来。程序运行之后直接用浏览器测试。
主程序MyHttpServer. 测试文件post.html, upload.html都放在上面程序定义的WEB_ROOT下面。
post.html:处理普通的post请求 upload.html:测试带附件的post请求
一切准备妥当,并且MyHttpServer运行之后,
在浏览器输入http://localhost:8080/post.html和http://localhost:8080/upload.html即可进行测试.
2. 技术储备:
需要什么技术?
web作为程序界面设计、git代码管理、多线程
已具备的技术基础?
Socket
准备学习什么技术?
JUnit, git, 阿里巴巴代码规约IDE插件。
数据如何存储:文件
界面:GUI、控制台。
开发工具:Eclipse, NetBeans, JUnit, git, 阿里巴巴代码规约IDE插件。