基于JAVA实现的支持多线程访问的WEB服务器
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服务器。在简单规模的测试及使用下,程序运行正确且良好,在较大用户数下表现得一般,响应时间不是很好。作为一个学习网络程序设计的程序已经完成了目标。
这次作业中,复习了很多计算机网络的相关知识的同时也学到了很多新的实践方面的知识,锻炼了编程能力,感谢老师的辛勤付出。
参考文献
- Webframe应用服务器中Web容器的设计与实现(扬州大学·张锋)
- 基于J2EE的学生信息管理系统(电子科技大学·钟海琴)
- 基于J2EE的学生网上考试系统的设计与实现(华南理工大学·李占新)
- 基于.NET框架的Web数据库访问技术的研究与实现(武汉理工大学·希凡)
- J2EE平台下快速WEB开发的研究与应用(武汉理工大学·李涛)
- ASP/JSP技术及WEB应用系统研究开发(西安理工大学·薛梅)
- 基于J2EE的Web应用服务器的设计与实现(华中科技大学·吕继云)
- 统一用户管理系统开发与设计(南昌大学·郭妍)
- 基于J2EE平台标准的WEB应用开发(福州大学·苏晓玲)
- J2EE平台下快速WEB开发的研究与应用(武汉理工大学·李涛)
- 基于J2EE体系架构的网络商店(广东工业大学·黄力)
- Spring架构在Web服务中的应用研究(南京理工大学·徐桔)
- 基于J2EE的Web组件开发平台的研究与实现(浙江大学·周明明)
- Spring轻量级框架在项目管理信息系统开发中的应用研究(西南交通大学·段培勇)
- 基于.NET B/S结构的数据库系统研发(兰州大学·王小伟)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计货栈 ,原文地址:https://bishedaima.com/yuanma/35553.html