基于Web的在线实时通讯系统的设计与实现--毕业设计.doc
《基于Web的在线实时通讯系统的设计与实现--毕业设计.doc》由会员分享,可在线阅读,更多相关《基于Web的在线实时通讯系统的设计与实现--毕业设计.doc(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JIU JIANG UNIVERSITY毕 业 论 文 题 目 基于Web的在线实时通讯系统 的设计与实现 英文题目 The Design and Implementation of The Instant Messaging System Based on Web 院 系 信息科学与技术学院 专 业 计算机科学与技术 姓 名 廖江晨 班级学号 A081125 指导教师 杨振宇 二一二年五月信息科学与技术学院学士学位论文摘 要随着互联网的快速发展,网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、
2、腾讯QQ、MSN-Messager等。聊天通讯系统的诞生拉进了人们的距离,沟通交流更加方便了。系统的开发也是受到WebQQ的启示,开发主要包括一个网络聊天服务器程序和一个网络聊天客户程序两个方面。前者通过Socket套接字建立服务器,服务器能读取、转发客户端发来信息,并能刷新用户列表。后者通过与服务器建立连接,来进行客户端与客户端的信息交流。其中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。在网络编程中对信息的读取、发送。系统的目标就
3、是能够实现在线实时通讯,系统采用MyEclipse为基本开发环境,使用SSH框架以及Ajax等进行编写,首先可在短时间内建立系统应用原型,然后,对初始原型系统进行不断修正和改进,直到形成可行系统。系统具有良好的程序结构和人机交互界面,通用性强,既可独立为一个小型聊天网站,也可应用于其它不同需求的网站。 关键词:实时通讯,多线程,服务器AbstractWith the rapid development of the Internet, network chat tools already as a kind of important information communication tool
4、, is more and more the favour of Internet users. At present, there are many very nice chatting tools, which is widely Netmeeting, tencent of QQ, MSN-Messager and so on. Chat communication system of the birth of the drawn into peoples distance, more convenient communication.The development of the sys
5、tem is also being WebQQ revelation, development mainly includes a network chat server program and a network chat client program two aspects. The former through the Socket Socket set up the server, which can be read, forward from the client information, and can refresh user list. The latter through t
6、o a server connection, to the client and the client information exchange. Among them the use of the local area network communication mechanism of principle, through the directly inherited Thread class to establish multithreading. In the development of the computer network programming elementary theo
7、ry knowledge, including TCP/IP protocol, Client/Server mode (Client/Server mode), network programming design method, etc. In the network programming to read, send information.The goal of this system is to achieve the real-time online communications, system USES MyEclipse as the basic development env
8、ironment and Java language to write, first in a short time can establish system application prototype, and then, on the basis of the prototype system modification and improvement continuously, until form feasible system. This system has a good program structure and man-machine interface, versatility
9、, both as a independent small chat site, also can be applied to different needs of other web sites.Keywords: Real-time Communication, Multithreading, Server目 录摘 要IAbstractII1 概 述1.1课题来源(1)1.2 国内外背景(2)1.3 课题目标(2)1.4 论文结构(2)2 技术支持2.1 MVC简介(4)2.2 Hibernate简介(5)2.3 Struts简介(5)2.4 Spring简介(6)2.5 Ajax简介(7
10、)3 系统需求分析3.1 系统概述(9)3.2 系统参与者(10)3.3系统功能分析(11)3.4 系统用例图(12)4 系统设计4.1 系统设计目标(17)4.2 系统总体架构设计(17)4.3 数据库设计(19)4.4 PO层设计(数据持久层)(23)4.5 DAO层设计(25)4.6 Service层设计(26)4.7 Web层设计(28)5 系统实现5.1开发环境部署(30)5.2 PO层的实现(31)5.3 Service层实现(33)5.4 DAO实现(34)5.5 Web层实现(36)6系统测试(40)结束语(44)致 谢(45)参考文献(46)481 概 述“但愿人长久,千里共
11、婵娟。”大词人苏东坡这句脍炙人口的表达对故人极度思恋的千古佳句流传至今,引起了多少游子的深切共鸣时空距离的存在,阻隔了无数千里之遥的亲人朋友们的情感交流,虽有鸿雁帮忙传送书信,可漫长的等待却成为时间异步的真实写照。然而随着当今社会计算机科学技术的迅猛发展和网络的出现,信息资源的实时共享成为现实,更重要的是它提供了一种极为直接的即时的交互方式,当然这种交互不单是指数据、信息之间的传递,也包括人与人之间的互相交流,各种聊天软件和在线聊天室正是承载这类交互的媒介,人们之间的交流几乎完全可以不受时空的约束,“但愿人长久,千里共婵娟”在现今可以蜕变成“只需网上游,千里共聊天”了。由于Internet/I
12、nternat的广泛使用,客户与服务器端之间能否有效地进行交互成为我们要解决的问题。JSP是一种在服务器端嵌入Java代码的脚本语言,是开发Web动态网站重要而快速、有效的工具,在保证最大可操作性的前提下,它提供了比一般脚本语言(如ASP、PHP)和CGI更快的执行速度。由此可见,作为一种Web实现技术,它的效率是很高的,这一点正好符合了聊天系统所要求的实时性。JSP自身的安全性,再加上实现模式的特点,完全能够达到聊天系统的即时性和保密性的要求,保证了人们在交流中需要维护的隐私权。此外,作为Java平台的一部分,JSP拥有Java语言“一次编写,随处运行”的特点,它的平台无关性使其可以轻松移植
13、到其它平台上运行。种种优点使得JSP技术为目前各式各样的聊天系统的实现都打下了良好的基础1。1.1课题来源“朋友 一生一起走”、“朋友 不曾孤单过”这两句歌曲朋友中的歌词相信大家早已耳熟能详了,朋友对于我们每个人来说,那是我们人生中何其重要的组成部分。常言道:在家靠父母,出门靠朋友。谁又不希望自己能多几个朋友,要是朋友能五湖四海该多好啊!这在网络技术还欠发达的时候看来似乎是不可能的事,而今,各式各样的网络交友层出不穷,大大增加了大家交友的途径。1.2 国内外背景随着互联网的发展,互联网服务也充斥着我们生活的方方面面。作为互联网免费服务中最早被网民认知并接受的互联网服务之一,即时通讯软件在慷慨的
14、服务于广大网民数年之后,获得的是巨大的网民基础。以用户为基础的即时通信产业在满足于用户的基本需求的同时,也延伸发展开辟出了多平台、多运营模式的即时通讯外延市场2。近年来随着WEB的发展给及时通信提供了更大的发展空间。1.3 课题目标现今社会,信息技术已经融入到社会生活的各个方面,人们的联系也从书信来往到电话联系,从短信发送到网络聊天,计算机渐渐成为人们工作生活不可或缺的一部分。这也就促使了即时通讯行业的迅速发展,各类的聊天软件也就应运而生。传统的客户端即时通信软件需要下载即时通信客户端安装之后才能使用,聊天工具的繁多以至酷爱聊天走到哪里聊到哪里的人用别人电脑的时候,如果没有那种聊天工具就需要不
15、厌其烦的下载。而基于Web浏览器的即时通信服务,不需要下载客户端,打开浏览器联网即可完成即时通信,在Web浏览器中获得基础的IM服务,具有Web产品固有的便利性特点,也保持了用户在客户端软件的一些操作习惯。作为客户端即时通信软件的有力补充,即时通信(IM)将为用户提供基于Web的IM 服务3。该系统的推出方便了大家的通信,同时也丰富了大家的 “在线生活”平台。1.4 论文结构论文共分六章,详细介绍了系统的整个实现过程,分别是:概述、技术介绍、需求分析、系统设计、系统实现、系统测试等几大模块。概述:介绍课题。(1)技术介绍:对系统应用到的当下流行的几大实用性技术进行简单的介绍,方便大家理解。(2
16、)需求分析:简单介绍系统需要实现的功能,并介绍用例关系。(3)系统设计:介绍系统的设计思路与想法。(4)系统实现:详细介绍系统的实现过程,并附带核心代码块。(5)系统测试:系统完成后,不断进行测试修复BUG、完善系统。本章主要介绍了课题的来源、开发背景、设计目标以及论文结构,在开发过程中要严格按照所分析的来执行实现,避免不必要的错误,对读者而言也能在起初对整个课题有个大概的了解,对全文的理解加深印象。2 技术支持Web技术日新月异,第二章将对论文中应用到的几大主流技术MVC模式、SSH框架、JSP和数据库做一简单介绍,方便读者更好的了解论文。2.1 MVC简介一个框架就是一个可复用的设计构件,
17、它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法。简单的说,框架就是软件开发者在实践中总结出的一些开发标准。这些标准可以帮助开发人员以成功的经验模式来开发同类型的系统4。使用框架可以给开发人员带来以下好处:(1)在好的框架下,开发人员只需要编写一些必须的代码,他们不需要直接接触底层的API;(2)经过良好设计的框架可以为程序提供清晰的结构并且提高程序的内聚性;(3)一个容易使用的框架可以通过一些例子和文档为用户提供最佳实践;(4)成熟框架的代码更精炼,更健壮,比自己的代码容易测试和维护。Java Platform, E
18、nterprise Edition(Java EE)本身也提供了一些框架。比如Enterprise JavaBean(EJB)容器。EJB为用户提供了一系列“重量级”企业级服务,给了我们看起来完整的服务策略,但是,它也给开发带来了许多负面效果。由于EJB提供的企业级服务是强制性的,从而使系统变得很庞大,难以部署,性能也大大降低,给开发和应用带来了很多不便,增加了系统的开销,同时也使得测试变得困难。与传统的基于EJB的Java EE框架相对应的,目前Java EE业界出现了很多优秀的轻量级框架,它们不仅可以实现传统框架所能做到的事情,而且可以通过轻量级的方式去实现5。总体上说,它们具有以下优点:
19、(1)轻量级Java EE框架的服务是可配置的,从而为系统省去很多不必要的开销;(2)轻量级Java EE框架的良好扩展性可以保证引擎在将来可以不断地被扩展以适应新的需求。2.2 Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库6。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
20、Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。Hibernate 中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。
21、 Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存。Hibernate版本更新速度很快,目前为止有两个阶段性的版本:Hibernate2,Hibernate3和Hibernate4,这一点程序员从其Jar文件名便可以看出来。目前最新发布的版本是hibernate-core-4.1.1.Final。Hibernate2系列的最高版本是Hibernate2.1.8,Hibernate3系列的最高版本是hibernate-distribution-3.6.10.Final-dist版,但目前使用较多且较稳定的版本是Hibernate 3.1.3或Hibernate 3.1.2。另
22、外,自Hibernate3发布以来,其产品线愈加成熟,相继出现了Hibernate注释、Hibernate实体管理器、Hibernate插件工具等一系列产品套件。在方便程序员使用Hibernate进行应用程序的开发的同时,也逐渐增强了Hibernate产品线的实力7。2.3 Struts简介Struts 是 Apache软件基金会(ASF)赞助的一个开源项目。由于本系统的开发过程中使用的是Struts2,在此就只对Struts2做简单的介绍。Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布
23、的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。 因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架8。Apache Struts2是一个优雅的,可扩展的Java EE Web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Web 在线 实时 通讯 系统 设计 实现 毕业设计
限制150内