磨蹭了好一阵子,终于决定还是开始工作。
今天天亮前争取把Java的HTTPServer做出来。找了几个HTTPServer的代码,不是太复杂没心情解决学习曲线问题就是不太适用,干脆自己写算了。反正不打算写复杂的,只要能处理简单的Get/Post请求,能通过模版输出HTML页面就OK了。
(以上写于1:49)
现在基本的HTTP功能已经完成了,共有以下class
TcpServer :Thread 实现TcpSocket服务器,处理Accept
TcpServerHandler :Thread Accept结束之后,新连接交给TcpServerHandler 处理
HttpServer:TcpServer 调用HttpServerHandler
HttpServerHandler: TcpServerHandler :处理Http请求,实现Service(HttpRequest,HttpResponse)
HttpRequest : 接收和解析Http请求,目前只支持GET/POST操作
HttpResponse : 拼装HTTP回应包头,输出返回页面
PageContainer : 页面模板加载和缓冲容器
PageTemplate: 页面模板,通过字符串替换方式实现有限的动态页面(循环输出表格稍微复杂一点点,先不玩了)
另外抽了8根烟,喝了无数杯水,看了半部电影和回复了几封Email,修改了其他项目的一个bug。还算比较充实。
ToDo List:
1:TcpServer稳定性,异常断连的检测和处理。
2:Http协议本身的字符转码,包括汉字和保留字符如 <>&?+... 等
3:java的汉字处理
4:将httpserver和PushServer ,以及业务连接跑起来
5:其他细节控制和类,接口的迭代重构
本文地址:http://com.8s8s.com/it/it12079.htm