jsp聊天系统mysql论文_第1页
jsp聊天系统mysql论文_第2页
jsp聊天系统mysql论文_第3页
jsp聊天系统mysql论文_第4页
jsp聊天系统mysql论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着计算机网络技术的高速发展,即时通讯越来越受到人们的青睐。实现了视频和音频信息传输的即时聊天工具,使协作成员可以远程直观,真实的利用视频和声音来交流,而且利用了多媒体技术,可以帮助用户对各种信息的处理。本课题主要的目的是实现JSP聊天AJAX系统,该系统的设计应建立在尽可能进行聊天系统的研究的基础上,便于用户友好的操作。系统应提供一个简单的,层次清晰的用户界面,让用户一眼便能明白系统的相关功能。尽可能方便用户注册,登录,聊天等功能。在实现系统时具有以下功能:该平台主要包括两部分,前台和后台,前台支持用户注册,登录,进入房间,查看好友,聊天以及退出等功能,后台管理员部分支持管理员登录、房间管理(添加房间、删除房间、重命名房间、进入房间)、好友管理(添加分组、重命名组、移动好友)等功能。关键词:聊天AJAX,JSP,JAVA

AbstractTherapiddevelopmentofcomputernetworktechnologytoday,instantcommunicationincreasinglybypeopleofallages.Instantchattoolinachievingthetransmissionofvideoandaudioinformation,sothatmemberscancollaborateremotelyintuitive,realexchangeasthesound,whiletheuseofmultimediatechnology,itcanhelpuserstoworkinavarietyofinformationprocessing.ThetopicistobeachievedJSPAJAXchatsystem,thedesignofthesystemshouldbepossibletoconductresearchonthechatsystem,user-friendlyoperation.Thesystemshouldprovideasimple,clearhierarchy,clearuserinterface,allowingusersaglance.Asmuchaspossibletofacilitateuserregistration,login,chatandotherfunctions.Systemontheimplementationshouldhavethefollowingfeatures:Theplatformincludestwoparts,foregroundandbackground,foregroundsupportsuserregistration,login,entertheroom,toseefriends,chat,exitfunctions,partialsupportbackgroundadministratoradministratorlogin,roommanagement(addingrooms,deletetheroom,re-namedroom,enterstheroom),friendsmanagement(addgrouping,renamegroups,mobilefriends)andotherfunctions.Keywords:chatAJAX,JSP,JAVA目录第一章前言 41.1课题选题背景 41.2即时通信的概念和特点 41.3即时聊天系统的发展 5第二章涉及的相关技术及协议 52.1Java语言 52.2Jsp技术介绍 62.3Myeclipse简介 72.4Tomcat简介 72.5数据库技术介绍 82.6B/S架构 9第三章系统分析 133.1系统可行性分析 133.2系统功能需求概述 143.3系统设计规则与运行环境 14第四章系统设计 164.1系统架构的设计目标 164.2系统架构设计 164.3系统架构类图 174.4系统交互图 184.5业务逻辑对象类设计 224.6数据库设计 224.7网络架构设计 24第五章系统实现 245.1系统主要功能 245.2各个模块设计实现 25结束语 32致谢 33参考文献 34

第一章前言交流是社会中的每一个成员的是必不可少的一种活动。直接的沟通方式,包括语言,写作,等,以及电信,电话,互联网等,和其他先进的工具。这项研究是由内部网络通信系统的网络即时通讯系统的支持。再实施的过程中使用JAVA语言来实现。1.1课题选题背景计算机技术,网络技术飞速发展的今天,即时通讯越来越受到人们的青睐。在视频和音频信息传输的即时通讯工具,允许成员进行远程协作的直觉,声音的实际汇率,并利用多媒体技术,可以帮助用户处理各种信息的处理工作。我们都知道,一个流行的即时通讯聊天。事实上,ICQ是英文的,“我找你”的简称,中文意思是“我找到了你。”最大的特点就是ICQ的即时信息交流,只要我能记得对方的号码,上网的时候可以打电话给他,无论他在哪里,只要他打开互联网的ICQ,人们可以在任何时间进行交流。许多类型的实时聊天系统,功能比较完善。这个问题正在研究的即时通讯系统,企业网的定位目标,企业或单位解决通信和协作问题,提高工作效率。员工可以使用内部通信系统在任何时间,发送短信,多人聊天,发送消息,传输文件,音频和视频对话等。系统包括客户端和服务器端软件,支持局域网和互联网。也许,在网络覆盖的任何地方,在任何时间,内部员工之间的即时通信,真正的内部运作。所以你不需要花费大量的时间,金钱,聚在一起去进行信息的交流,通过网络,我们可以实现面对面交流,提高效率。MSN,QQ等公共信息系统,为聊天无法控制,如果在企业内部使用,可以减少效率。即时通讯系统,将安装自己的服务器,并在业务人员是由系统管理员创建完成,从而很好地解决了这个问题。我带来更大的互动,人与人之间的相互沟通的观点,而观点表明,应用到我这里来实现结果的最明显的方式。这反映了一种相互作用。采用即时通讯系统的方式进行聊天,我们不需要离开电脑,不需要其他额外的工具来帮助你进行实时在线。1.2即时通信的概念和特点即时通讯(IM)是一种允许两个或更多的人使用网络的实时传递文本消息,文件,语音和视频通信终端服务。不同于电子邮件,即时消息对话是直接的、即时的。大部分的即时通讯服务提供了存在意识的特点──显示联系人,联系人在线聊天和能够接触聊天等。在早期的即时消息程序,用户输入的每个字符将立即显示在屏幕的两侧,和更改将被删除并在屏幕上的每个字符的立即响应。该模型比使用电子邮件更像是一个电话对话,充分体现了实时的特点。在目前的即时消息程序,以完成图片美、方便交流,通常只和对方在本地端按下发送键(进入或Ctrl+Enter)将看到的信息。1.3即时聊天系统的发展在上个世纪七十年代早期,即时通讯系统的朱阿姨形式是柏拉图式的形式(柏拉图系统)。到八十年代,UNIX/Linux的即时消息会话中广泛被工程师和学者们使用,90年代跨操作系统平台的即时通讯交流工具产生了,在1996十一月,第一个非UNIX/Linux用户广泛的互联网即时通信软件ICQ出现。ICQ是现在通常被视为一种流行的即时通讯软件使用的先驱。ICQ的特拉维夫,以色列Mirabils公司。公司成立于1996七月,那是在这个时候,到1996,11个月后的四个月里,互联网上最著名的,最多用户数下载免费软件ICQ出世,由几个以色列人制作的,再没能得到投资的情况下,他们提供互联网用户免费下载,到了1998年,Mirabilis公司的ICQ用户已发展到12000000家,并在一百万个月的用户增加的速度。在这个时候,ICQ的公司由于其潜在的巨大商业价值,已成为众多大型公司争相购买的对象,1998ICQ的公司将开发自己的软件,与用户一起“卖”给美国在线(美国在线),价格为287000000美元。根据美国在线由1999,最后说,ICQ用户已经达到50000000,其中超过三分之二的世界各地的用户生活在美国以外的。ICQ创建实时通信在互联网世界中已成为增长最快的一个领域。第二章涉及的相关技术及协议为了保证本课题研究能够正常的实施,本文首先来分析一下课题研究所需要的相关技术以及协议等。2.1Java语言仔细分析后,一个功能全面、适应各种计算机高级语言,选择纯面向对象的语言,Java被设计来完成论文的最终决定,根据下面的技术可行性,本文对Java语言简介进行阐述。Sun公司的口号是“计算机代表着网络”,Java使一切计算平滑过渡到桌面型计算机网络,它是专门成立的用于这一目的的,显然是为了完成这项任务。使用Java语言,可以相对容易地写一个连贯的网络程序的一天。今天,Java是网络功能的快速发展,新的功能添加到这个价值基础,JavaSoft实验室工作不断取得Java更完美。在Java语言的主要特点,我总结如下:Java是程序设计与开发的运行时环境过程中被解释的高级程序设计语言,所以开发商往往需要经过一个Java写的程序源代码,编译器生成的字节码和运行过程三。这里要提到的,Java应用程序的开发周期,包括编译,下载,解释和执行的几个部分。Java编译器将Java源代码的可执行代码的JVM字节代码。汇编程序用C/C++编译器有所不同。当C编译器生成对象的代码,该代码是在一个特定的硬件平台上运行的生成。因此,在汇编程序,编译通过的所有引用的符号表被转换为一个偏移量来保证程序运行特定的内存。Java编译器将不会编译参考变量和方法的数值的引用,程序执行的内存布局过程中的不确定,但这些符号引用信息保留的字节码,由解释器运行内存布局中,然后一个方法来确定地址,查找表。这有效地确保了Java的可移植性和安全性[2]。2.2Jsp技术介绍JSP是由Sun公司倡导的,许多公司都参与了一个动态的技术标准的建立。加入Java程序片段(Scriptlet)在传统的网页的HTML文件(*。HTM,*。HTML)和JSP标签,JSP页面是Java程序片段可以操作数据库,重定向页面和发送电子邮件,等,实现功能的动态网站的建立需要。所有程序操作都在服务器端执行,网络上传到客户端的仅是得到的结果,大大降低了客户端浏览器的要求,即使客户端的浏览器不支持Java,JSP页面也可以访问。JSP的全名Java服务器页面,这基本上是一个简化的servlet的设计,他意识到HTML语法Java扩展(在<%%>形式)。JSP和Servlet,是在服务器端执行,通常返回客户端是一个HTML文本,所以客户端只要有浏览器就可以浏览。在请求访问JSP页面事件的Web服务器,数据块的第一个实施,然后结果连同JSP文件的HTML代码返回到客户端在一起。Java程序可以操作数据库的插入部分重定向页面,以达到所需的网页动态功能的建立。JSP技术,使用Java编程语言编写类XML的标记和scriptlets,处理逻辑封装产生动态的网页。Web访问也存在于服务器端应用程序的逻辑资源通过tags和scriptlets。JSP页面将显示的分离逻辑和网页设计,支持可重用的基于组件的设计变得快速而方便地开发Web应用程序。JSP(JavaServerPages)是一种动态网页技术,其主要目的是表示逻辑分离从servlet。JSP页面嵌入在HTML代码与Java代码组成。在网页服务器要求客户端Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JSP是JavaServlet技术的基础,并与JavaServlet和JSP需要开发大型Web应用程序来完成。JSP有一个简单的使用Java技术,完全面向对象的,具有独立性和安全性,平台主要为所有互联网的特点。由于JSP介绍,许多大的科技公司都支持JSP服务器,如IBM,Oracle,BEA公司,所以很快就成为商业应用JSP服务器端语言。2.3Myeclipse简介EclipseIDE的扩展是MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse),在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面可以利用它来极大的提高工作效率。MyEclipse企业级工作平台是功能丰富的JavaEE集成开发环境,其中还包括了完备的数据编码、调试、测试和发布等功能的开发,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。被开发Java是用于MyEclipse非常好的,MyEclipse是J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持的功能也十分广泛,其中包括是对各种各样开源产品的支持也是极好的。JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC等数据库链接工具的很多功能都被MyEclipse支持。也可以这样说,现今所有主流开源产品的专属eclipse开发工具几乎被MyEclipse全包括了。MyEclipse2013已经正式发布!根据官方最新得到的消息,HTML5、JQuery和主流的Javascript库都被MyEclipse2013支持。由于MyEclipse2013支持Html5应用,你可以添加音频、视频和API元素等到你制作的项目去,从而Web应用程序被移动设备创建的十分复杂的。通过HTML5你甚至还可以可视化设计器设计出一些令人难以置信的用户界面。与此同时,由于JQuery被MyEclipse2013支持,如果要添加动画效果到你的设计中,你就可以通过插件提升性能。2.4Tomcat简介很多程序员都喜欢Tomcat,那是由于扩展性好,运行时占用的系统内存资源也小,支持开发应用系统常用的功能:一些负载平衡与邮件服务等;任何一个感兴趣的程序员都可以更换它或在其中加入一些自己喜欢的新的功能。而且它还在不断的改进和完善中。Tomcat是一个小型服务器,十分小巧,属于轻量级的,Tomcat是开发和调试JSP程序的首选,但在中小型系统和并发访问用户中,不是很多的场合下都被普遍使用。Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。但对于一个刚开始学的人来说,也可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。当配置正确时,Apache为HTML页面进行服务的,而实际JSP页面和Servlet是被Tomcat运行,这里就是诀窍所在。一方面,Tomcat具有处理HTML页面的功能,它和IIS、Apache等Web服务器一样的,另外一方面,它还是一个像Servlet和JSP一样容器,Tomcat的默认模式是独立的Servlet容器。不过,当Tomcat处理静态HTML的能力时,它不如Apache服务器。2.5数据库技术介绍数据和数据库对象的集合是数据库,其中表(Table)、视图(View)、存储过程(StoredProcedure)和触发器(Trigger)等这些对象指的就是数据库。通过SQL(StructuredQueryLanguage)来对数据进行操作和管理的是数据库,这些些基本的操作如select、delete、insert、update语句都是被包括在里面的。微软开发数据库应用程序的数据库访问技术是ADO(简称ActiveXDataObjects)。用来提供通用数据访问(UniversalDataMySQL),ADO被设计用来与新的数据库访问层OLEDBProvider一起配合做工作。它是一个底层的数据库访问接口,用它可以访问各种不同的数据源,包括传统的关系数据库都可以用OLEDB,它是一个底层的数据库访问接口。OLEDB程序中使用的许多COM接口被ADO封装了,所以这是一种高层访问技术。关于数据库管理系统和接口的原理如下图2所示。由于MySQL是一个十分好的数据库管理系统。并且很快速、多线程、多用户的小型关系型的数据管理系统。MySQL支持正规的SQL查询语言和采用多种数据类型的数据库管理系统,他能对数据进行各种各样详细的查询。MySQL通过很直接的方式就可以创建、访问、修改数据库的表和项,这是由于它提供了一全套的数据库创建和访问机制的原因。而且能建立它们之间的各种不同的数据关系。MySQL系列从90年代就发展起来,它已经成为非常成熟的技术,经过了多年的反展,到现如今已经面向中小型企业级应用。MySQL数据库不需要运行或者启动数据库服务进程就可以使用,它的特点就是是数据库文件小而简单,十分方便。正是有这些特点,通常MySQL数据库文件都可以随网页文件打开看就可以一起方便地放在网站的目录中,MySQL数据库都会被用来作为网站开发的数据库,这种网站开发会得到很多支持技术。对采用图形化管理工具phpMyAdmin的可能是MySQL数据库的管理。phpMyAdmin是一个用PHP编写的管理程序员,是一个基于Web的、跨平台的MySQL管理程序,使用Web浏览器作为管理界面,也支持简体中文。绝大部分的MySQL操作都是可以通过phpMyAdmin进行的,其中包括对数据管理,数据库级操作,以及表级操作。图2-5数据库管理系统和接口的原理2.6B/S架构B/S结构是Browser/Server的缩写,汉语中则主要指的是浏览器以及服务器结构。B/S的基础是C/S,经过对C/S的修改、升级得到的。在B/S下,具有三层结构:首先,用户界面通过浏览器实现;其次,大部分的业务逻辑的基于服务器的实现;最后,业务逻辑由前端的一小部分实施完成。采用这种结构,不但使整体成本下降,而且将电脑的负载大大降低,从而减少工作量与工作强度。在这个阶段,B/S模式使用结构,易于实现。该技术是一种一次性开发,允许从不同的地点,不同的员工,不同的访问,在任何时间,任何地方的数据库管理,同时也能有效地保护和管理的数据访问平台,确保有关数据的安全。1.B/S架构软件的优点和缺点(1)容易,升级方便。随着技术的进步,一般来讲,对于软件的修改原来越多,软件的升级周期越来越短。而采用B/S结构来进行系统的设计就能够很容易避免这方面带来的麻烦。对于一般的结构而言,在一个企业中,若电脑数量较多,维修人员会因维修与软件升级而来会奔波,工作强度极其巨大。而对于采用B/S结构的软件来讲,由于客户端(电脑)仅起到浏览器的作用,因此维修人员只需要维护好服务器就可以了。无论客户端多么庞大,都丝毫不会增加工作强度。从另外一方面来说,B/S结构能够很好的支持异地协助,可以实现异地的软件升级与维护。采用B/S结构会大大降低所需的人力物力,从而提升工作效率。(2)低成本,更多的选择。由于操作系统最常用的Windows,所以浏览器似乎是必不可少的。然而,在服务器操作系统的竞争,微软的产品可能不是最好的。现在逐渐形成新的模式,即用B/S结构与Linux服务器进行匹配,这样带来的好处是更为安全可靠,另外还有一点非常重要,即Linux的数据库也是不收费的。这也说明了B/S结构对操作系统的选择不唯一,而是支持多种操作系统的。(3)应用服务器的运行数据负荷重。根据分析我们知道,B/S的三层结构分工明确,即绝大多数的事务逻辑由服务器端处理,另外客户端只起到浏览器的作用。这样虽然优势很多,但是也具有一定的缺点:即应用服务器上的负荷比较大,若服务器稍微出现问题,就会导致非常严重的后果,为了避免这种现象的出现,一般采取保护措施——配备专门的数据库服务器。2.C/S与B/S结构在技术上的比对C/S结构软件——客户机/服务器模式可以分为两层:首先是客户机,其次是服务器。客户机不但承担着对数据的输入、输出,而且在一定程度上要对相关数据进行处理、分析,还要对数据进行判断,合理分配,从而将通信的数据量、服务器上进行的计算量进行减轻。然而,服务器在连接数量上一级通信信息量上不是没有上限的,所以C/S结构仅适用于连接量较小的情况,比如财务软件等。B/S——浏览器/服务器模型是以C/S的基础上开发的,基于订购的软件应用程序完成的业务过程,只有通过浏览器可以很容易实现,是一种全新的软件系统构造技术。采用B/S结构一般是未来的趋势,电子对,采用B/S结构通过管理软件。(1)与数据安全方面。对C/S软件结构的使用,C/S结构决定了该国的要求安装服务器,还要实现服务器之间的数据同步,一旦在某一点上的安全问题,将不可避免地导致整个系统的安全性受到严重影响。因此,C/S结构不适用于多种类型的服务器。采用B/S结构正是为了避免这个缺点,因为数据的B/S结构是存储在一个专用的服务器,客户端不保存任何业务数据和数据库连接信息,没有数据同步,所以有不安全的问题。(2)与实时数据。由于C/S结构不能保证在任何地方看到目前的经营情况发生,所以把所有已经存在的数据,数据不是实时的。B/S结构,你可以得到所有的服务正在发生的实时数据,实时决策,可以有效地避免商业上的损失。(3)比较数据的一致性。实现远程管理,软件的C/S结构的安装需要在区域一级服务器和同步服务器上的数据同步的总部完成后得到最终的数据。首先这就要求所以的服务器必须正常运行,其次由于存在的微小差异,在理论上无法实现数据同步。而采用B/S结构,这种结构的数据属于集中存放,无不同步问题,数据始终一致。(4)在服务响应及时性方面的对比。企业的业务流程、业务模式并不是不会改变的,由于要适应市场随时会产生变化的需求,这就要求企业要实时进行调整、改革,业务的流程也在发生大大小小的变化,为了使企业正常运行,就必须对相关软件进行即时更新、维护。对C/S软件结构的使用,因为所有的客户端都需要更新,保持,因此工作量巨大,很难做到所有程序的版本是一致的,这需要很长的时间来重组。而对于采用B/S结构一类软件,服务器的作用与浏览器相当,所以软件的更新、维护只需在总部进行即可,大大节省了时间,很容易实现版本的一致性。(5)在数据溯源性上的比对。C/S结构,因为数据不存储在一个集中的方式,只需上传数据的报告中,它是很难找到的原始数据源。而我们知道在B/S结构中,数据属于集中存放,因此便于总部对数据的来源进行查询,可以很详细地查询所有原始数据的来源。(6)在网络应用限制上的对比。采用C/S结构的软件对网络要求较高:适用于局域网以及宽带(要求带宽不低于1兆)。对于采用B/S结构的软件而言,对网络要求很低,适应范围很广,甚至可以不采用宽带。3.C/S与B/S结构软件在运用上的对比无论采用哪种软件,其目的是为了更好地让企业运转,因此,在选择软件时,不但要注意所采用的技术,还应关注在商业上的运用。我们将在商业运用方面进行对比:(1)在投入成本上的对比。对于C/S来讲,后期维护、更新费用巨大;对于B/S而言,属于一次性投资,成本较低。(2)在企业快速扩张支持方面的对比。发展中的企业的主要特点是扩张的速度极其迅速。为了使企业的扩张能够顺利进行,就要求在部署软件时具有准确、及时的特性。对于C/S结构,一般要保证客户端、服务器、工作人员的同步性,因此与快速扩张不协调。而对于B/S结构而言,由于安装属于一次性,因此要想使企业扩展较快,就必须解决人才问题。(3)在硬件投资保护方面的对比。对于如何维护已经存在的硬件,两种结构采取的手段存在着非常大的区别:对于C/S而言,主要是更换中央服务器,采用更为高级的类型;而对于B/S来讲,可以采取逐渐增加服务器数量的方法,并使服务器间的负载逐渐趋于平衡,从而做到保护原有硬件。若采用C/S结构,不但无法解决巨大的人力物力的消耗,而且无法保证拥有足够的人才,所以考虑到企业的发展前景,C/S结构是不适应的。此外,C/S结构不能保证安全,需要一个中央服务器的性能是很好的。为B/S结构,用户的数目是无限的。基于上述分析,我们可以看到,在每一个方面,B/S结构的管理软件,比C/S结构的软件。此外,与目前的趋势是逐渐的B/S代替C/S积极参与的软件开发B/S结构从国内软件厂商的趋势,大型管理软件的B/S结构必将在未来几年占主导地位的管理软件领域。

第三章系统分析3.1系统可行性分析可行性研究的最主要的目的就是用最小的代价来进行问题定义阶段所确定的系统的目标和规模是否能实现的判断,所确定的问题是否可以解决等,以及系统方案在经济上、技术上和操作上是否具有可行性等。1、经济可行性JSP(JavaServerPages)是“基于Java的服务器段动态页面设计”,软件方面只需要Java虚拟机。通过文本编辑器就可以实现系统开发,并且Java虚拟机可以在Sun公司的官方网站上免费下载。从投资的角度,创造一个更加综合管理信息平台方面,投资范围从几万到几十万,大多数网站设计者都能。自顶向下分析系统设计的逐步求精的方法,并保持系统的逐步改进,实现经济节约。2,软件和硬件条件从硬件环境,现在硬件的快速发展,相当完整的工资管理平台的内部硬件,可以依靠自己的网络环境和计算机设备。从软件环境,开发类似系统已经存在的大部分功能单一,不能太简单的实现。至于查询信息也不可能。由于这些原因,我们着手开发更适合当企业工资管理系统软件的设计。随着计算机的广泛应用,大多数企业管理者和员工习惯于使用电脑和互联网寻找信息。3、技术可行性JSP(JavaServerPages)是基于JavaServlet及整个Java体系的Web开发技术,它由SunMicrosystems公司在1996年6月推出。JSPJava程序片段嵌入在HTML代码和使用各种各样的JSP指令构成一个JSP页面。此页可以操作数据库,上传文件和其他复杂的逻辑功能。此外,通过支持JavaBean实现扩展。JSP技术使得它更容易编写动态网页,更强大的,可移植性,可扩展性和更好的。总结(1)的生成和显示内容的分离;(2)支持可重用组件;(3)采用标签简化页面开发;(4)一次编写,处处运行的特点。从技术的角度来看,该系统可以运行在操作系统,可以为系统提供一个稳定的操作环境Windows家庭,数据库也似乎更有利。因此,该系统节省更多的发展资金,这个系统应该说是发展的需要。3.操作可行性从操作角度来分析,本系统操作简单方便,只要懂得上网都能方便操作本系统。所以在操作上也是可行的。3.2系统功能需求概述系统需求文档是为了能在总体上对该软件有个整体认识,能从整体上把握方向,不至于盲目而使得浪费人力物力,从而达到节省时间、经费的目的。该项目的名称是“JSP聊天AJAX”,该软件的开发主要用了JavaJDK1.5开发工具和MySQL数据库软件,其中涉及了很多有关数据库知识如:数据库的插入,删除,更新以及数据库的安全性和参照完整性等将在设计过程中体现出来。本课题要实现的是即时聊天系统,在设计该系统时,应尽可能的对聊天系统进行调研,便于用户操作。系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的注册、登录、聊天等功能操作提供方便。系统在实现上应该具有如下功能:本系统平台主要包括前台和后台两部分,前台支持用户的注册、登录、进入房间、查看好友、聊天、退出等功能,后台管理员部分支持管理员登录、房间管理(添加房间、删除房间、重命名房间、进入房间)、好友管理(添加分组、重命名组、移动好友)等功能。3.3系统设计规则与运行环境系统设计的总体规则无论哪个网站都要有它自己的设计规则。该系统也一样,它的主要设计规则有:简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。针对性:该系统设计是人事管理系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该系统能完成员工信息管理和考勤管理、工资发放等等基本信息的管理,具有良好的实用性。运行环境本系统是一个WEb版的应用程序,需要在服务器上部署中间件Tomcat、Sqlserver数据库,其他的客户端通过网络进行访问该服务器即可。(1)硬件平台:CPU:酷睿i3-3.0GHZ内存:2G以上硬盘:320GB(2)软件平台:操作系统:WindowXP或Win7均可数据库:MySQL

第四章系统设计4.1系统架构的设计目标软件架构设计要达到如下的目标:1.可行性(可行的)。可行的架构的基石什么。建筑设计。2.可靠性(可靠的)。软件系统的用户的业务运作和管理是至关重要的,软件系统,因此必须非常可靠。3.安全线(安全)。由软件系统进行的交易的商业价值高,安全系统是非常重要的。4.定制(定制)。软件可以根据不同的客户群体和市场需求的变化调整同一套。5.可伸缩性(可扩展)。在新技术的出现,一个软件系统应该允许新技术,扩展现有系统的功能和性能介绍。6.维修性(维修)。维护软件系统包括两个方面,一是排除存在误差,二是新软件需要反映在现有的系统。一个易于维护的系统可以有效的降低成本的技术支持。7.可伸缩性(可扩展)。该软件必须能够使用,增加很快的情况下,用户的用户数,保持合理的性能。为了适应用户市场扩张的可能性的唯一途径,太。8.客户体验(用户体验)。网站必须使用方便。网站的用户可能不会是一个计算机专业技术人员。4.2系统架构设计在这里,我们将创建一个系统架构设计模式和原则的基础上的信息系统体系结构的设计原理。对象层次关注更多的是信息系统可分为三层:用户界面层,业务层和数据访问层(如图4-1所示),提出了在公共部分的层数:权限管理,异常处理,所以得到图4-2所示的包图:图4-1系统体系架构图图4-2网站模块模块包图4.3系统架构类图将包图展开,得到类图,它是架构的静态结构图,表达了各个类之间的静态联系。工资管理系统架构类图如下图4-3所示。图4-3系统架构类图4.4系统交互图4.4.1系统架构类交互图系统架构类的工作流程:1.在收到用户输入请求的用户界面对象,发送到服务代理对象的处理要求。2.业务代理对象接收请求后,根据权限管理权限发送验证请求。3.权限管理对象验证结果验证权限回到商务代理对象后。4.根据业务代理对象验证结果以下处理:一个请求批准不符合返回消息;符合要求的许可,请求转发到业务对象。5.业务对象的业务流程。对持久数据服务操作的处理,通过访问数据库访问对象的操作,任何例外的例外在处理对象。最后,返回的结果信息的业务代理对象。6.代理对象的业务结果返回给用户界面处理信息。体系结构级交互图如图4-4所示:图4-4系统架构类的交互图管理员管理主要涉及:管理员用户的添加,提供管理员用户信息的查询功能。管理员用户创建时的时序图如下图4-5所示。图4-5管理员用户管理的时序图4.4.2系统协作图交互图来说明该系统实现了一个使用案例或一个特定的使用情况。UML提供了两种类型的交互图:顺序图和协作图。按时间顺序时序图描述系统要素之间的相互作用;随着时间和空间顺序描述系统元素之间的相互作用根据合作计划。根据谁创造了部分管理员描述用户的时序图如图4-6显示给管理员创建用户协作图。图4-6管理员创建用户的协作图4.4.3系统状态图是由一个对对象的生命周期来描述对象随时间的动态行为状态图建模。状态图显示了一个状态机,这基本上是一个状态机元素投影,即状态图,包括所有的状态机的特征。在用户管理模块,主要是用于创建用户,修改用户信息,查询三个州的用户信息,三个状态完成的过程是非常相似的,所以下面的是只有管理员可以创建用户状态图如图4-7显示。图4-7管理员创建用户的状态图4.4.4系统活动图如何协同工作是属于活动图的描述。如果无法确定以什么样的顺序来完成这些事情,出现一个操作必须完成这一系列事情时,那么活动图的功能就是,服务人们更清晰地描述规划出事情。主要涉及用户的活动是在用户管理模块中。根据需要增加新的用户,登录系统是管理员最先的任务,然后查看用户信息;可以修改对已经添加的用户;并且可以通过活动图,查询已经添加的用户相关信息等活动。在活动完成后,退出系统,下面给出管理员对用户管理的活动图,如下图4-8所示。图4-8管理员在管理员管理模块的活动图4.5业务逻辑对象类设计本部分的主要任务是一个系统的体系结构的业务逻辑类的设计类图,用例图,系统分析了相互作用,我们可以发现业务逻辑类包括管理类,组类,房间类型,类成员的信息。对象类的发现基于用例图的交互信息的适当的方法。4.6数据库设计关系数据库是目前使用最广泛的数据库。因为它是一个面向对象的系统设计,数据库设计,当然,将面向对象。现在考虑怎样经营班级的持久性,这是怎样的二维对象映射到关系数据库表。目前的数据库建模工具可以用来实现,像PowerDesigner,Rose等。4.6.1ER图管理员类,日志记录类,工资类,会员信息类都是基础类,可以直接映射为一个表。管理员管理模块的ER模型图见图4-9。图4-9管理员管理模块E-R模型图4.6.2物理结构图将ER模型中的实体转换为物理表,得到物理表结构如下:friend(好友信息表)表4-1(Table4-1)主键字段名称数据类型长度1Idint11usernamevarchar50friendnamevarchar50groupidint11user(管理员信息表)表4-2(Table4-2)主键字段名称数据类型长度1Idint11Usernamevarchar20passwordvarchar20typevarchar10groupu(分组信息表)表4-3(Table4-3)主键字段名称数据类型长度1Idint11namevarchar100usernamevarchar1004.7网络架构设计系统采用B/S结构,系统网络架构图见图4-10。图4-10系统网络架构图支持软件安装情况如下表4-8所示。(Table4-8)服务器OS:MsWindows2003ServerMySQL数据库管理软件客户机OS:MsWindowsxpProfessional/MsWindows7ProfessionalIE8.0以上第五章系统实现5.1系统主要功能本聊天系统平台主要包括前台和后台两部分,前台支持用户的注册、登录、进入房间、查看好友、聊天、退出等功能,后台管理员部分支持管理员登录、房间管理(添加房间、删除房间、重命名房间、进入房间)、好友管理(添加分组、重命名组、移动好友)等功能。结构功能图如下图所示:图5-1结构功能图5.2各个模块设计实现(1)数据库连接实现数据库连接代码如下:protectedstaticConnectioncon=null; protectedstaticDataSourceds=null; //从数据源连接池取得连接 publicBaseDao(){ try{ Contextctx=newInitialContext(); if(ctx!=null){ if(ds==null){ ds=(DataSource)ctx.lookup("java:comp/env/jdbc/chatroom"); con=ds.getConnection(); } } }catch(NamingExceptione){ e.printStackTrace(); }catch(SQLExceptione){ e.printStackTrace(); } }(2)用户登录界面实现的对用户合法性的验证是用户登录的功能。首先,客户端通过浏览器的渠道,Web服务器会接收到用户账号和密码的表单,如果用户的身份通过了权限并合法,那么管理员或者职员就会收到提示,显示登录成功,应用程序接口会处理服务器端,然后验证用户权限,再返回到客户端浏览器,在此是通过利用数据库把Web服务器中的处理数据完成实现的,实现单点登录为此方便客户。用户单点登录流程图,单点登录的实现,如图5-2所示。图5-2用户登录界面实现代码:publicUsercheckUser(Stringusername){ Stringsql="select*fromuserwhereusername=?"; Useru=null; try{ PreparedStatementpst=con.prepareStatement(sql); pst.setString(1,username); ResultSetrs=pst.executeQuery(); if(rs.next()){ u=newUser(); u.setId(rs.getInt(1)); u.setUsername(rs.getString(2)); u.setPassword(rs.getString(3)); u.setType(rs.getString(4)); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ //close(rs,pst,con); } returnu; }(3)会员聊天界面图5-3会员聊天界面实现代码:publicvoidaddcontent(Stringusername,Stringcontent,Stringsendtime,StringsendToName,Stringfontsize,Stringfontcolor,Integergfid){ Stringsql="inserttalk(username,content,sendtime,sendToName,fontsize,fontcolor,gfid)values(?,?,?,?,?,?,?)"; try{ PreparedStatementpst=con.prepareStatement(sql); pst.setString(1,username); pst.setString(2,content); pst.setString(3,sendtime); pst.setString(4,sendToName); pst.setString(5,fontsize); pst.setString(6,fontcolor); pst.setInt(7,gfid); pst.executeUpdate(); }catch(SQLExceptione){ e.printStackTrace(); }finally{ //close(rs,pst,con); } } publicList<GroupF>getAllGF(){ List<GroupF>gfs=newArrayList<GroupF>(); try{ Stringsql="select*fromgroupfwherename!='在线用户'"; PreparedStatementpst=con.prepareStatement(sql); ResultSetrs=pst.executeQuery(); while(rs.next()){ GroupFgf=newGroupF(); gf.setId(rs.getInt("id")); gf.setName(rs.getString("name")); gfs.add(gf); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ //close(rs,pst,con); } returngfs; }(4)管理员管理界面图5-4管理员管理界面实现代码:publicbooleaninsertUser(Stringusername,Stringpassword){ Stringsql="insertintouser(username,password,type)values(?,?,?)"; inti=-1; try{ PreparedStatementpst=con.prepareStatement(sql); pst.setString(1,username); pst.setString(2,password); pst.setString(3,GlobalNames.USER_TYPE_USER); i=pst.exec

温馨提示

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

评论

0/150

提交评论