1、基于Ajax的Web聊天系统设计与实现厦门工学院厦门工学院本科生毕业设计(论文)题 目: 姓 名: 学 号: 系 别: 专 业: 年 级: 指导教师: 年 月 日独创性声明本毕业设计(论文)是我个人在导师指导下完成的。文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。特此声明。论文作者签名: 日期: 关于论文使用授权的说明本人完全了解厦门工学院有关保留、使用学位论文的规定,即:学院有权保留送交论文的印刷本、复印件和电子版本,允许论文被查阅和借阅;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段
2、保存论文。保密的论文在解密后应遵守此规定。论文作者签名: 指导教师签名: 日期: 基于Ajax的Web聊天系统设计与实现摘要随着Internet的迅速发展,许多C/S结构的应用程序纷纷转向B/S结构的web应用程序.web版的应用程序,让用户可以利用基于浏览器的客户端轻松地使用程序,不用考虑平台之间的差异、程序可移植性好、容易部署并且维护简单.但由于B/S结构采用同步的请求/响应机制,浏览器中的页面在请求后要进行全部刷新,且在页面刷新的过程中,用户只能看着浏览器空白的界面不能做其他的事情.这严重影响了用户体验,使B/S结构的应用丧失了原有基于C/S结构的良好用户体验,一定程度上制约着web应用
3、程序的发展。但近来,Google公司的Google Maps、Gmail和Google Suggest等web应用却打破了这个制约,给用户带来了良好的用户体验。Google在这方面的取得巨大的成功,这催生了Ajax概念的诞生,并吸引着越来越多的人构建具有丰富客户体验的web应用.目前常规的即时聊天工具如QQ要求要安装客户端(基于C/S模式),这种要求在一定程度上会带来某种不便,但其丰富的用户交互功能吸引着众多的用户。本课题的目的是使用Ajax开发模式设计和实现一个web版的即时聊天系统,使B/S的web应用具有像C/S模式一样的用户交互。本文将通过介绍传统web应用的不足,引入Ajax技术,介
4、绍什么是Ajax以及基于Ajax的web应用模型,总结Ajax在聊天系统中的应用,最后本文将通过设计和实现web版的即时聊天系统具体展示如何在web中的应用Ajax技术。关键词:Ajax,web应用,聊天系统Design and Implement of Web Chat System Base on Ajax AbstractAlong with the rapid development of Internet, many C/S based applications translate to B/S based web applications。 (其它内容略)Key Words: Aj
5、ax, Web Application, Chat System 第1章 绪论1.1 研究背景随着Internet的迅速发展,基于B/S的应用程序越来越受欢迎。在B/S结构程序中,用户可以利用基于浏览器的客户端轻松地使用程序;程序可以运行在不同的平台上,不用考虑平台之间的差异;只需部署服务器,客户端可以直接运行在浏览器上,部署简单且便于维护。B/S的诸多优点使众多软件商将Web作为首选平台,促使许多C/S结构的程序纷纷转向B/S结构。但由于互联网是一个同步的请求/响应系统,浏览器需要在请求后刷新整个页面。在页面刷新的过程中,用户只能看着浏览器空白的界面不能做其他的事情,这严重影响了用户体验,也
6、制约着B/S结构程序的发展。同步请求和全部刷新,本质上是B/S请求响应机制所采用的HTTP协议决定的。这似乎是web理所当然的缺陷,但Google公司的Google Maps、Gmail和Google Suggest等web应用却打破了同步请求和全部刷新的制约,给用户带来了良好的用户体验1。Google在这方面的取得巨大的成功催生了Ajax概念的诞生,并吸引着越来越多的人构建具有丰富客户体验的web应用.传统的即时聊天系统是基于C/S结构的桌面应用程序,它的即时通讯功能和提供给用户的良好体验吸引着众多的用户。但基于C/S结构的聊天系统,要求用户一定要安装特定的客户端。这个要求在一定的程度上会带
7、来种种不便,不能适应于不同操作系统平台;既要部署服务器,也要安装特定的客户端,部署不方便;系统升级时既要升级服务器也要升级客户端,升级和维护都及其不便2。1.2 研究意义(内容略)1.3 研究内容(内容略)1.4 论文组织(内容略)第2章 Web版聊天系统的设计2.1 功能设计(内容略)2。2 概要设计基于Ajax的web即时聊天系统的概要设计如图2-1所示。图2-1 系统概要设计图(其它内容略)2。3详细设计2.3。1用户界面逻辑设计(内容略)2.3.2 数据库的设计(1) item表、user_appended表和group_appended表这三个表主要用来存储用户和群组信息.其中类型为
8、用户的item表项和user_appended共同表示用户信息,类型为群组的item表项和group_appended共同表示群组信息。各表的字段设计如表2-1、表2-2、表23所示。表2-1 item表字段名数据类型主键/允许空字段含义register_nameVARCHAR(31)PRIMARY KEY注册名display_nameVARCHAR(31)NOT NULL显示名Icon_srcVARCHAR(31)NOT NULL图标Item_typeVARCHAR(15)NOT NULL类型表22 group_appended表字段名数据类型主键/允许空字段含义register_nameV
9、ARCHAR(31)PRIMARY KEY注册名managerVARCHAR(31)FOREIGN KEY管理员表23 user_appended表字段名数据类型主键/允许空字段含义register_nameVARCHAR(31)PRIMARY KEY注册名passwordVARCHAR(31)NOT NULL密码genderVARCHAR(1)NOT NULL性别from_whereVARCHAR(63)NULL来自哪里email_addressVARCHAR(63)NULL电子邮箱phone_numberVARCHAR(31)NULL电话号码active_statusVARCHAR(7)N
10、OT NULL状态从用户和群组中提取出共同的信息组成item表,是考虑了如下的原因: 在主窗口中,需要显示好友列表和群组列表,都需要获取好友列表或群组列表的注册名、显示名及图标,而不需要其它的具体信息.这样在显示好友或群组列表时,服务只需查询item表,并返回相应的内容。 方便统一表达朋友关系和组员-组关系,进一步方便了消息(message)表的设计,具体好处将在设计message表时说明。结论本文通过web版的即时聊天系统的设计和实现具体论述了什么是Ajax,为什么要在web中使用Ajax及如何在web中应用Ajax技术。做的具体工作如下:(1) 通过实践详细探究什么是Ajax,为什么要在w
11、eb中使用Ajax,对这项新的技术或者说是新的开发模式做出比较直观的分析和展现;(2) 通过设计和实现基于Ajax的web即时聊天系统,比较直观地展现Ajax在web中的应用及如何实现这些应用,为其它的基于Ajax的web应用的设计和实现提供参考;(3) 设计和实现即时数据验证、二级联动下拉框、动态提示和自动更新等模块,尽可能地保留原有的基于C/S的良好用户体验,将原属于桌面应用的即时聊天系统移植到web中,为今后将桌面应用程序迁移成web版应用提供些许借鉴。通过这次的设计和实现基于Ajax的即时聊天系统,我深深地体会到了Ajax所带来的是web开发模式的变革,它使基于B/S结构的web应用的
12、开发更像C/S结构的应用程序的开发浏览器端引入了Ajax引擎,有了一定的处理能力,浏览器中的内容可以看成是一个应用,这地位类似于C/S中的客户端。由于时间仓促及能力有限,在研究基于Ajax的web应用时没有对安全问题进行研究。因此,本课题研究的下一步工作展望是,考虑Ajax的安全问题,研究更具健壮性的基于Ajax的实现框架。针对实现的web版即时聊天系统,增加聊天信息加密之类的功能.参考文献1 李智毅新一代Web应用开发技术AJAXC/孙立峰第二届和谐人机环境联合学术会议论文集。 北京:清华大学出版社,200731342 王培,冯曼菲Web 2。0开发技术详解M北京:人民邮电出版社,20063
13、89403,495-520.3 Garrett J J。 Ajax:A New Approach to Web ApplicationsEB/OL. http:/4 美Ryan Asleson , Nathaniel T。SchuttaAjax 基础教程,金灵等译北京:人民邮电出版社,20065 徐驰. Ajax模式在异步交互Web环境中的应用J. 计算机技术与发展,2006,16(11):229233。6 姚国新基于Ajax的WEB应用技术的研究与实现D:硕士学位论文陕西:西北大学信息科学与技术学院,20067 (内容略)8 (内容略)9 (内容略)10 (内容略)11 (内容略)12 (内容略)13 (内容略)14 (内容略)15 (内容略)谢辞在本文即将结束之际,我要由衷地感谢(其它内容略)附录1 部分关键源码及解释在这部分,将结合具体的源代码具体说明系统的执行流程和逻辑。(内容略)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1