Pubertyly
web服务提供了可供浏览的网页,对浏览web服务的需求是本程序的背景,当然现在已经有很多web服务器的很好的实现,本程序也不可能说做得比知名的那些要好,在这里程序的目的是为了锻炼网络程序设计与实践和软件系统设计与开发实践能力。
实现一个web服务器,能够提供让标准浏览器用HTTP协议来进行访问的网页,并且能够支持多线程非阻塞的服务,最后会提供一个web服务器程序。
为标准浏览器提供web服务
能够接受http请求并返回html网页
能够支持多线程非阻塞的访问
硬件接口:无直接硬件接口,只通过OS等软件接口与硬件间接交互
软件接口:相应的JDK、JVM环境,以及标准的浏览器软件
通讯接口: HTTP协议
Web服务器要求响应时间要短
安全可靠
开发环境
Eclipse-Java IDE,windows7系统
整个项目由Java开发,所以要求系统装有相应的JDK、JVM环境,另外,web服务器要求系统有http协议的接口,web客户端即为标准的浏览器软件
开发规范
文件命能清楚的描述其功能
代码中的空格与空行上下保持一致
有适量且清楚的注释
界面整洁,方便使用
所有函数及变量有能描述其功能的名字
应注意代码的简洁和优化
用例名称 | Web浏览器查看网页 |
---|---|
描述 | 用户用Web浏览器访问Web服务器的一个网页:http://localhost:6789/13S103066.html |
参与者与关注点 | Web浏览器(用户):希望得到快速的响应,能够看到正确的网页。Web服务器:希望能够快速正确地完成浏览器请求,并且能够处理多用户同时访问的场景。 |
事件流 | 主成功场景(或基本流程): 用户在浏览器中输入要访问的网址:http://localhost:6789/13S103066.html; web服务器解析HTTP协议请求; web服务器处理该请求并通过TCP连接向浏览器返回目标网页html文件;浏览器解析并显示该html文件;用户看到该网页;完成。 扩展(或替代流程): 传递网页的TCP连接建立失败:web服务器报错给服务器管理员,管理员检查服务器状态是否异常;Web服务器没有响应(浏览器无法连接到服务器):检查web服务器是否已经运行、网址是否输入正确。 |
前置条件 | Web浏览器已运行 |
综上所述,程序实现了一个支持多线程访问的Web服务器。在简单规模的测试及使用下,程序运行正确且良好,在较大用户数下表现得一般,响应时间不是很好。作为一个学习网络程序设计的程序已经完成了目标。
这次作业中,复习了很多计算机网络的相关知识的同时也学到了很多新的实践方面的知识,锻炼了编程能力,感谢老师的辛勤付出。
keyboard_arrow_left上一篇 : 基于C#的简单计算器 基于JAVA实现的Tiger编译器 : 下一篇keyboard_arrow_right