JAVA实现HTTPserver端

用java socket实现了一个简单的httpserver, 能够处理GET, POST,以及带一个附件的multipart类型的POST。尽管中途遇到了非常多问题, 只是通过在论坛和几个高手交流了一下,问题都攻克了。假设你认为程序有些地方看不明确,能够參看这个帖子:http://topic.csdn.net/u/20090625/22/59a5bfc8-a6b6-445d-9829-ea6d462a4fe6.html .

尽管解析http头不是非常规范,本来应该用原始的字节流, 我採用了一个折衷的方案,用DataInputStream.

本代码的有用性==0,可是能够帮助非常好地了解http协议,然后其它的应用层协议大都如此。

假设你从来都没有了解过http协议,建议先搜索阅读一下,或者你还能够用以下的代码来简单的看一看究竟浏览器和server之间都相互发送了什么数据。

MyHttpClient.java: 模拟浏览器的行为, 向server发送get/post请求,然后打印出server返回的消息。这样就能够查看当一个请求到来之后, server究竟都给浏览器发送了哪些消息。

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就可以进行測试.

转载请注明来自http://blog.csdn.net/sunxing007

posted @ 2014-05-30 20:41  blfshiye  阅读(3346)  评论(0编辑  收藏  举报