Java web聊天室系统的设计与实现毕业答辩论文_第1页
Java web聊天室系统的设计与实现毕业答辩论文_第2页
Java web聊天室系统的设计与实现毕业答辩论文_第3页
Java web聊天室系统的设计与实现毕业答辩论文_第4页
Java web聊天室系统的设计与实现毕业答辩论文_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号:本 科 毕 业 论 文(设 计)java web聊天室系统的设计与实现作者姓名指导教师所学专业软件工程(嵌入式)班级11嵌入式班所属院系 信息学院学习年限2011年 9月至2015年 6月二一五年 五月目 录摘要- 1 -abstract- 1 -1、引言- 1 -2、应用需求分析与可行性分析- 1 -2.1 应用需求分析- 1 -2.2 运行需求分析- 1 -2.3 其他需求分析- 1 -2.4 可行性分析- 1 -2.4.1经济可行性- 1 -2.4.2技术可行性- 1 -2.4.3 运行可行性- 1 -2.4.4 时间可行性- 1 -2.4.5 法律可行性:- 1 -2.5 系统开

2、发步骤- 1 -3、相关技术简介- 1 -3.1 jsp- 1 -3.2 sql server 关系数据库简介- 1 -3.2.1 sql server 特点- 1 -3.3 jdbc- 1 -4、系统分析- 1 -4.1系统功能要求- 1 -4.1.1 在线聊天室的要求- 1 -4.1.2 在线聊天室的管理子系统要求- 1 -4.2系统性能要求- 1 -4.3系统功能模块图- 1 -4.3系统流程图- 1 -5、数据库设计- 1 -5.1数据库需求分析- 1 -5.1.1内容- 1 -5.1.2处理- 1 -5.1.3数据项- 1 -5.1.4数据结构- 1 -5.1.5数据流- 1 -5.

3、2数据库逻辑结构设计- 1 -5.3 数据库表的创建- 1 -5.4 各界面实现- 1 -5.4.1 用户登陆界面- 1 -5.4.2 选择房间- 1 -5.4.3 查看聊友- 1 -5.4.4 聊天- 1 -5.4.5 管理员登陆- 1 -5.4.6 管理员t人- 1 -6、系统调试与测试- 1 -6.1 程序调试- 1 -6.2 程序的测试- 1 -6.2.1 测试的重要性及目的- 1 -6.2.2 测试的步骤- 1 -6.2.3 测试的主要内容- 1 -结束语- 1 -致谢- 1 -参考文献- 1 -摘要本文从理论和实际案例分析了网上聊天系统,比较的分析了当今网络上建立动态网页的几种语言

4、,及其优缺点。以及网上聊天系统所选用的数据库。当今社会,计算机网络已经成为人们生活中不可缺少的一部分,人们从互连网上获取信息与朋友交流,网络应用越来越广泛,而网站如雨后春笋般地一个接着一个冒出来,因为提供静态信息的html网页并没有办法达到与用户交互的目的,所以才出现了各种交互式网页技术。要建设一个聊天室,首先,这个聊天室的整体概况要在我们脑海中要有一个初步的影像,在众多的公共聊天室中,其核心无非是:1、聊天者把语句写入文本或数据库;2、浏览器不断的对文本或数据库进行刷新、读取;3、实时更新在线的客户;4、管理员对聊天者进行踢或ip禁止操作。本聊天室系统由jsp技术与sqlserver2000

5、数据库相结合基于b/s模式开发完成。关键词:jsp、数据库、聊天室abstractthis article analyzed from the theory and the actual case on-line chatted the system, compared with the analysis in the network has established the dynamic homepage now several languages, and good and bad points. as well as on-line chats the database which th

6、e system selects. now the society, the computer network already becomes the people to live an essential part, the people exchange from the interconnection on-line gain information and the friend, the network application is getting more and more widespread, but website like mushroom growth then brave

7、s, because provides the static information the html homepage not to have the means to achieve with the user interactive goal, therefore only then presented each kind of interactive homepage technology. must construct a chatroom, first, this chatrooms overall survey must have a preliminary phantom in

8、 our mind, in the numerous public chatrooms, its core nothing but is:1st, chat reads in the sentence the text or the database; 2, the browser unceasing carry on refurbishing, the read to the text or the database; 3, real-time renewal online customer; 4, the manager carry on to chat kick or the ip ex

9、cept operation. the this chatroom system unifies by the jsp technology and the sqlserver2000 database based on the c/s pattern development completes.key word jsp database chatroom1、引言聊天室(chat room)是www世界中最常见的服务,最早的起源来自于bbs站点,除了在线talk之外,的确是漫漫长夜打发时间的最佳消遣。“互通有无、排忧解难”也是聊天室的另一个功能;其次便是当成传递信息的渠道;如果更新的时间够快的

10、话,聊天室还可以发展成为“在线会议”(类似netmeeting的功能),其优点真是一言难尽。虽然在市面上早已出现了“聊天室”的应用软件,例如:microsoft chat,其使用界面及功能也已经十分完善,不过它总是一套独立于浏览器之外的套装软件,上手之前还要先熟悉操作方法才能登堂入室,对于没有时间学习的网友来说,这总是不方便,所以越来越多的网站开发出根植于浏览器之上的“聊天室”,以便造福更多的网友。2、应用需求分析与可行性分析2.1 应用需求分析服务器硬件处理器:intel 酷睿内 存:256m 或更大硬 盘:20g 或更大软件microsoft windows 7microsoft sqls

11、erver 2008microsoft office 2010客户机硬件无特殊要求,只要能上连接互联网即可软件microsoft windows 7 或者 windows xp系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。 硬件系统环境:c600、1g mb(ram)、500mb(hd)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好2.2 运行需求分析硬件条件:酷睿 cpu、2g ram、100g硬盘以上的pc机;打印机;局域网。软件条件:windows 7。 2.3 其他需求分析本系统

12、有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可测试性等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。2.4 可行性分析2.4.1经济可行性经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。由于本系统是作为毕业设计由我们自己开发的,在经济上的投入甚微,系统建成之后将为今后实现系统功能提供很大的方便,估算新系统的开发费用和今后的运行、维护费用,估计新系统将获

13、得的效益,并将费用与效益进行比较,看是否有利。开发、运行和维护费用主要包括:购买和安装设备的费用:计算机硬件、系统软件、 机房、电源、空调等;软件开发费用:若由实习单位的技术人员开发,则该项费用可以计入下面的人员费用一项;人员费用:系统开发人员、操作人员和维护人员的工资、培训费用等;消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如水、电费,打印纸、软盘、色带等开支。所有开支都不大,所以经济上是可行的。2.4.2技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本科生实习管理系统用的是jsp开发语言,调试相对简单,当前的计算机硬件配置也完

14、全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。2.4.3 运行可行性对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前我们公司信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。本系统的开发,是典型的mis开发,主要是对

15、数据的处理,包括数据的收集,数据的变换,及数据的各种报表形式的输出。采用流行的jsp+sqlserver体系,已无技术上的问题。2.4.4 时间可行性从时间上看,在两个月的时间里学习相关知识,并开发网站,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。2.4.5 法律可行性: 所有技术资料都为合法。 开发过程中不存在知识产权问题。 未抄袭任何网站,不存在侵犯版权问题。 开发过程中未涉及任何法律责任。综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。2.5 系统开发步骤一般说来,管理信息系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开

16、发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低管理信息系统开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。国外曾有人对一些软件项目开发各阶段的工作量进行了统计,结果表明,在开发过程中各工作阶段所占全部工作量的比重分别达到系统分析:系统设计:编程:模块调试:系统调试

17、20%:15%:20%:25%:20%。由此可见,程序编写在开发工作中只占很小比例,而调试工作却占整个开发工作量的一半左右,因此“系统开发就是编程”的习惯说法显然是片面的。另据统计,在建立管理信息系统的三个阶段中,总体规划和系统开发阶段的工作量约占整个工作量的2/3,而运行、维护阶段要占1/3,这说明一个管理信息系统开发后,仍应十分重视它的维护工作,以便使系统不断完善并充分发挥其作用。3、相关技术简介3.1 jspjsp(javaserver pages)是由sun microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它是在传统的网页html文件(*.htm,*.ht

18、ml)中插入java程序段(scriptlet)和jsp标记(tag),从而形成jsp文件(*.jsp)。 用jsp开发的web应用是跨平台的,即能在linux下运行,也能在其他操作系统上运行。jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。 web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起

19、返回给客户。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 jsp与java servlet一样,是在服务器端执行的,通常返回该客户端的就是一个html文本,因此客户端只要有浏览器就能浏览。jsp主要优先如下:(1)一次编写,到处运行。在这一点上java比php更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比jsp/php的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的jar文件就可以运行servlet/jsp,到由多台服务器进行集群和负载

20、均衡,到多台application进行事务处理,消息处理,一台服务器到无数台服务器,java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与jsp很像,java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。3.2 sql server 关系数据库简介sql server是由microsoft开发和推广的关系数据库管理系统(dbms),它最初是由microsoft、sybase和ashton-tate三家公司共同开发的,并于1988年推出了第一个os/2版本。 sql server近年来不断更新版本,1996年,mic

21、rosoft 推出了sql server 6.5版本;1998年,sql server 7.0版本和用户见面;sql server 2000是microsoft公司于2000年推出的最新版本。 3.2.1 sql server 特点1真正的客户机/服务器体系结构。 2图形化用户界面,使系统管理和数据库管理更加直观、简单。 3丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4sql server与windows nt完全集成,利用了nt的许多功能,如发送和接受消息,管理登录安全性等。sql server也可以很好地与microsoft backoffice产品集成。 5具有很好的伸

22、缩性,可跨越从运行windows 95/98的膝上型电脑到运行windows 2000的大型多处理器等多种平台使用。 6对web技术的支持,使用户能够很容易地将数据库中的数据发布到web页面上。 7sql server提供数据仓库功能,这个功能只在oracle和其他更昂贵的dbms中才有。 3.2.2 sql server 2000新特性 1支持xml(extensive markup language,扩展标记语言) 2强大的基于web的分析 3支持ole db和多种查询 4支持分布式的分区视图3.3 jdbcjdbc(java data base connectivity,java数据库连

23、接)是一种用于执行sql语句的java api,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成。jdbc为工具/数据库开发人员提供了一个标准的api,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 java api 编写数据库应用程序,同时,jdbc也是个商标名。 有了jdbc,向各种关系数据发送sql语句就是一件很容易的事。换言之,有了jdbc api,就不必为访问sybase数据库专门写一个程序,为访问oracle数据库又专门写一个程序,或为访问informix数据库又编写另一个程序等等,程序员只需用jdbc api写一个程序就够了,它可向相应数据库发

24、送sql调用。同时,将java语言和jdbc结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是java语言“编写一次,处处运行”的优势。java数据库连接体系结构是用于java应用程序连接数据库的标准方法。jdbc对java程序员而言是api,对实现与数据库连接的服务提供商而言是接口模型。作为api,jdbc为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。jdbc使用已有的sql标准并支持与其它数据库连接标准,如odbc之间的桥接。jdbc实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能

25、实现的接口。4、系统分析4.1系统功能要求4.1.1 在线聊天室的要求登陆,公聊,私聊,离开聊天室管理员可以查看聊天者的ip地址,可以踢人,可以添加,修改,删除聊天者的资料。4.1.2 在线聊天室的管理子系统要求对数据库中的在线用户信息进行管理。对数据库中的非在线用户信息进行管理。对数据库中的聊天信息进行管理。4.2系统性能要求系统的性能要求一般包括:计算和查询响应时间、处理容量、存储容量、人机交互的友好性、系统的安全性、可靠性以及容错能力等,如果是网络系统还应包括系统传输交换能力。本系统非网络系统,所以符合系统的一般性能要求即可。系统的性能要求应从以下几个方面确定:(1)容量要求:确定系统的

26、容量要求,如处理的记录数和处理数据的最大容量等(2)精度要求:确定系统的精度要求,如数据或数值检索的精度要求、数据传输的精度要求等。(3)时间特性要求:确定系统的时间特性要求。如处理时间、响应时间及其峰值负载期间允许偏离范围,系统各项功能的顺序关系,由于输入类型的不同和操作方式的变化引起的有限顺序的变化。(4)适应性要求:必须指明反映系统环境变化的系统适应能力和系统适应能力的各种参数。说明当需求发生变化时系统的适应能力,指出为适应这些变化而需要设计的软件和过程。 (5)人机交互友好性:要有适应与用户特点的智能化人机交互界面,便于用户操作使用。 (6)系统可靠性:为提高系统可靠性必须采用模块化、

27、结构化设计,需要对容错处理的模块提供备份,以减少系统故障。 (7)系统可维修性:系统应具有奥好的可维修性,以便在系统故障时能迅速恢复运行。本系统应具有如下性能:(1)数据库系统的扩充能力(2)快速的信息交换能力(3)快速的响应能力(4)具有较大的数据存储能力(5)系统迅速恢复能力4.3系统功能模块图4.3系统流程图4.3程序er图5、数据库设计在线聊天室系统是一个数据库应用系统,系统的所有信息都是保存在数据库中。在数据库应用系统的开发中,数据库的结构设计是一个非常重要的问题。我们这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息存在哪个表中、各个表的结构如何以及各个表之间的关系。

28、数据库结构设计的好坏,将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等。由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。但这些方法和设计者的工作经验有很大的关系。因此要从根本上解决所有数据库结构设计的问题,就需要多实践,在实践中积累经验和教训,最终成为数据库结构设计的专家。5.1数据库需求分析数据库结构设计的第一个阶段,也是非常重要的一个阶段时数据库需求分心。在这个阶段主要时收集基本数据以及数据处理的流程,为以后进一步设计打下基础。5.1.1内容调查应用系统用

29、户所需要操作的数据,决定在数据库中存储什么数据。5.1.2处理调查应用系统用户要求对数据进行什么样的处理,理清数据库中各种数据之间的关系。5.1.3数据项包括名称、含义、类型、取值范围、长度以及和其他数据项之间的逻辑关系。5.1.4数据结构若干个数据项有意义的集合,包括名称、含义以及组成数据结构的数据项。5.1.5数据流指数据库中数据的处理过程,包括输入、处理和输出。本设计通过对聊天室内容和过程分析,设计的数据项和数据结构如下用户基本情况:包括的数据项有姓名、性别、年龄、昵称等。基本用户情况。包括的数据项有用户id、注册用户详细地址、oicq号等。5.2数据库逻辑结构设计概念结构是独立于实际数

30、据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计.也就是要将概念上的结构转化为数据库系统所支持的实际数据模型。第一种转化是将实体转化为关系表。这种转化比较简单,只需要将实体的属性定义为表的属性即可。第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。在上面工作的基础上的基础上归纳出人员管理数据库表格的组成、列的属性、表格之间的联系等等。该数据库系统要求具有以下方面的特点:结构合理;所建立的数据冗余度小,独立性强;建档、修改、查询、统计快准确;保密性、可靠性好。聊天室系统中各个表格的设计结果如下面的各表格所视。每个表格表示数据库中的一个表。5.3

31、 数据库表的创建列名数据类型说明id主键自动编号包含一个作为记录识别标志的长整数的数字域。采用自动编号。是用户表的主索引。name文本包含用户id的文本域。ip文本包含用户计算机当前ip的文本域。呢称文本包含用户的呢称的文本域。color文本包含用户发言时字体的颜色的文本域。表情文本包含用户表情的文本域说话对像文本包含用户对像的文本域说话文本包含用户说话内容的文本域动作文本包含用户动作的文本域列名数据类型说明id主键自动编号包含一个作为记录识别标志的长整数的数字域。采用自动编号。是用户表的主索引。name文本包含用户id的文本域logintime日期/时间包含用户性别的布尔变量。sex文本包含

32、用户登录时间的日期变量6、详细设计与编码实现6.1系统需要解决的主要问题在规划设计聊天室时,首先要确定好谈话内容存储方式,jsp可以用三种形式实现聊天内容的存取:1)用全局变量application和session对象实现。这种形式速度快、效果好,但较消耗系统资源。2)用读写数据库的方法实现。这种方法相对简单,但会使数据库负担重。本系统采用的就是该方法。本设计选择了sql server 2008数据库来存储谈话内容。3)用读写文本文件方法。该方法适合简单的聊天室。另一个设计聊天室时要考虑的因素就是聊天室成员的动态刷新。有的用户在退出聊天室时并不是从退出链接退出的,但服务器并不知道用户已经离开了

33、。因此需要建立一个在线用户数据库,每隔一段时间检查一次,看用户从最后一次发言到现在是否超时,若是,则将该用户自动删除。6.2系统功能的具体设计6.2.1 用户登陆注册用户登录模块是前台的一个重要模块,用户注册后输入正确的帐号和密码才能登录系统,登录成功后用户可以点击注销,可以修改登录密码等功能。以下是该页面的主要代码function check()if(document.form1.nickname.value=)alert(请输入你的姓名!);window.document.form1.nickname.focus();return false;if(document.form1.pwd.v

34、alue=)alert(请输入密码!);window.document.form1.pwd.focus();return false;/return true;用户登陆用户登陆昵称:登陆密码: 注意: 本聊天室无须注册,登陆成功后您的昵称和密码将被保存。 如果您在一个月内没有登陆本聊天室,这个帐号将被自动取消。6.2.2 选择房间在用户登陆后系统将跳转到聊天房间的选择界面,在此界面用户可以自由选择当前聊天室内的所有房间,并且可以看到聊天室内的用户个数。 15 * 24 * 3600 * 1000) sql = update chatuser set longontime= + logontime+ ,pwd= + pwd + where nickname like + nickname + ;rs = jspex.executequery(sql); else if (pareto(pwd) != 0) canlog

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论