基于JAVA实现的支持多线程访问的WEB服务器

Pubertyly

发布日期: 2019-05-06 11:46:04 浏览量: 879
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

1.系统概述

1.1 业务背景

web服务提供了可供浏览的网页,对浏览web服务的需求是本程序的背景,当然现在已经有很多web服务器的很好的实现,本程序也不可能说做得比知名的那些要好,在这里程序的目的是为了锻炼网络程序设计与实践和软件系统设计与开发实践能力。

1.2 总体目标

实现一个web服务器,能够提供让标准浏览器用HTTP协议来进行访问的网页,并且能够支持多线程非阻塞的服务,最后会提供一个web服务器程序。

2.系统分析和设计

2.1 系统概述

2.1.1 业务需求描述

  • 为标准浏览器提供web服务

  • 能够接受http请求并返回html网页

  • 能够支持多线程非阻塞的访问

2.1.2 外部接口需求

  • 硬件接口:无直接硬件接口,只通过OS等软件接口与硬件间接交互

  • 软件接口:相应的JDK、JVM环境,以及标准的浏览器软件

  • 通讯接口: HTTP协议

2.1.3 非功能性需求

  • Web服务器要求响应时间要短

  • 安全可靠

2.1.4 约束条件

开发环境

  • Eclipse-Java IDE,windows7系统

  • 整个项目由Java开发,所以要求系统装有相应的JDK、JVM环境,另外,web服务器要求系统有http协议的接口,web客户端即为标准的浏览器软件

开发规范

  • 文件命能清楚的描述其功能

  • 代码中的空格与空行上下保持一致

  • 有适量且清楚的注释

  • 界面整洁,方便使用

  • 所有函数及变量有能描述其功能的名字

  • 应注意代码的简洁和优化

2.2 用例模型

2.2.1 用例图

2.2.2 详细描述

用例名称 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浏览器已运行

2.3 领域类图

2.3.1 Web(TCP)类图

2.3.2 Web(TCP)核心顺序图

2.4 体系结构设计

2.5 程序流程图

2.6 测试截图

3.总结

综上所述,程序实现了一个支持多线程访问的Web服务器。在简单规模的测试及使用下,程序运行正确且良好,在较大用户数下表现得一般,响应时间不是很好。作为一个学习网络程序设计的程序已经完成了目标。

这次作业中,复习了很多计算机网络的相关知识的同时也学到了很多新的实践方面的知识,锻炼了编程能力,感谢老师的辛勤付出。

上传的附件 cloud_download 基于JAVA实现的支持多线程访问的WEB服务器.7z ( 94.11kb, 3次下载 )
error_outline 下载需要12点积分

发送私信

走在一起是缘分,一起在走是幸福

18
文章数
20
评论数
最近文章
eject