基于web的聊天室构建毕业设计.doc
《基于web的聊天室构建毕业设计.doc》由会员分享,可在线阅读,更多相关《基于web的聊天室构建毕业设计.doc(49页珍藏版)》请在咨信网上搜索。
1、华科学院HUAKE INSTITUTE OF TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY 毕业设计(论文)题目:基于web的聊天室构建学 生 姓 名 _ _学 号 _201022070115_班 级 _电子102201H_所属院(系)_电子信息工程系_指 导 教 师 _ _ II基于web的聊天室构建摘要随着网络的发展与技术的不断成熟,越来越多出色的聊天软件冲击着聊天室的发展,聊天室要想在夹缝中生存,必须有自己的特点。现在各大网站都把聊天室嵌入到了网站中,但是目前还没有一个专门的聊天室的网站,所以这是一个聊天室发展的突破口。针对聊天室的特点,即时通讯和
2、没有繁琐的注册过程以及操作的方便性,因此特地开发了本系统。本系统是典型的基于WEB的应用,因为客户端就是浏览器,客户只需要有浏览器就可以聊天。其开发过程主要是服务器端的开发,包括:底层数据的建立,中间业务逻辑的处理和前端数据的显示。本系统根据对相关技术的分析对比,系统实现采用Struts和Ajax等技术,底层数据库使用Oracle,数据库连接使用JDBC。系统的主要功能有:用户的管理,包括用户登录,用户注册;房间的管理,包括房间的曾删改查操作;用户聊天,包括公聊和私聊,发送表情,屏蔽讲话,返回最近的聊天记录等功能。关键词:聊天室,基于web应用,即时通信。Web chat room based
3、 onAbstractWith the development of network and technology , more and more outstanding chatting software impact on the development of chatting rooms.In order to survive in the cracks, chatting rooms must have their own characteristics. Now the major sites have embedded chatting rooms in regard to How
4、ever there is no a special chatting rooms site, so this is a breakthrough in the development of chatting rooms. Considering the characteristics of chatting rooms, This system tries to communicate instantly, require no complex registration and operate conveniently. It is a typical WEB-based applicati
5、ons, because the client is the browser, a browser who can chat. Its development process is mainly server-side development, including: the establishment of the underlying data,the dealing with the middle business logic and showing the data.Based on comparison and analysis of relevant techniques, the
6、system uses technologies such as Struts and Ajax,Oracle as the underlying database, JDBC as the database connection. The main features of the system are: the management of users, including user login,user registration.; Room management, including the room adding, deleting, searching;userchatting, in
7、cluding public and private chatting, sending expressions, shielding speech,returning to the record. Key words: chatting rooms,Web-based application,Instant Message.目 录摘要IIIABSTRACTIV目 录V前 言- 1 -第1章 系统使用的技术概述- 2 -1.1 JSP的概述- 2 -1.2 STRUTS的概述- 2 -1.2.1 视图- 3 -1.2.2 模型- 3 -1.2.3 控制器- 3 -1.3 AJAX的概述- 5
8、-1.4 JDBC的概述- 6 -1.4.1 JDBC驱动程序的类型- 6 -1.4.2 Connection 对象- 6 -1.4.3 Statement 对象- 7 -1.4.4 ResultSet 对象- 7 -第2章 聊天室的需求分析- 8 -2.1 需求分析- 8 -2.2 总体设计思想- 8 -2.3 系统功能描述- 9 -2.3.1 前台功能- 9 -2.3.2 聊天室的后台- 9 -2.4 系统的用例图- 9 -2.5 性能需求- 11 -第3章 聊天室系统详细设计- 12 -3.1 数据库设计- 12 -3.2 数据库的需求分析- 12 -3.3 软件硬件接口- 15 -3.
9、4 系统流程图- 15 -3.5 软接结构- 17 -第4章聊天室系统的实现- 18 -4.1 房间列表的实现- 18 -4.2 登录页面的实现- 18 -4.3 chat页面的实现- 20 -4.4 管理员登录界面的实现- 21 -4.5 后台管理也页面的实现- 22 -第5章 测试与运行- 25 -.1 软件测试的目的和原则- 25 -.1.1 测试环境- 26 -.1.2 测试结果- 26 -.2 软件的运行与安装- 28 -.2.1 应用程序的构建、部署- 28 -.2.2 系统运行过程- 28 -.3 运行和维护- 28 -结 论- 30 -参考文献- 31 -致 谢- 32 -附
10、录I- 33 -附 录II- 37 -IV前 言随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持, 而聊天室是人们最常见,最直接的网上交流方式。在网络中,人们不需要知道对方真实的姓名,年龄,只要是在同一个软件或者同一个聊天室里,大家都可以放下身心的包袱,无拘无束的交友、抒发自己的感想来缓减压力。不会因为一些不合理的原因,限制住自己的语言。可以这么说,网络带动了信息的交流,而聊天带来了人们更多的朋友和伙伴。 人们在生活、学习、工作中难免会遇到各种各样的问题,比如生活中的不愉快、学习上的困惑、工作中的不顺利都会使人们的心情变得很糟糕,当人们无法解决这些困惑时,就需要找个人来聊天释放
11、心中的不愉快。那么聊天室就是一个不错的选择,在这聊天室里尽管说出自己心中的困惑,因为这里是无拘无束的。聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的聊天系统是基于web开发设计的,其主要特性是能动态、实时的完成信息的传递,其运行所需环境及其工作流程将在本文依次介绍,并且文中提供了部分程序源代码。根据当前网络的需求,网络聊天越来越受到各种网民的青睐。因此开发网络聊天是相当有必要,而且在网站内增加聊天功能,它不仅可以提高网站的访问量,同时还可以留住访客,更重要的是让访客通过聊天室进行实时的互相交流。当前的聊天室都是嵌在一些大型的
12、网站中,比如,新浪、搜狐网站把聊天室嵌入到当中。就针对人们在生活、学习、工作中遇到的问题,这些网站就没有设立一个供人们讨论解决问题的聊天室。所以本文介绍的聊天室系统就针对这一问题提供了一个很好的交流平台,具有很好的现实意义和实用价值。第1章 系统使用的技术概述1.1 JSP的概述JSP技术提供了一种简单快速的方法来创建显示动态生成内容的Web页面。也就是在MVC中充当V(View)的角色。由业界处于领先地位的Sun公司制定了相关的JSP技术规范,该规范定义了如何在服务器和JSP页面间进行交互,还描述了页面的格式和语法。JSP页面使用XML标签和scriptlets(一种使用Java语言编写的脚
13、本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML或者XML)直接传递回响应页面。通过这种方式,JSP页面实现了页面逻辑与其设计和显示的分离。JSP技术是Java系列技术的一部分。JSP页面被编译成servlet,并调用JavaBeans组件(beans)或Enterprise JavaBeans组件(企业beans),以便在服务器端处理。因此,JSP技术在构建可升级的基于web的应用程序时扮演了重要角色。 JSP技术是行业协作的结果,它的设计是开放的,符合行业标准的,并支持绝大多数的服务器、浏览器和相关工具。由于使用可重用的组件和标签取代了对页面本身脚本语言的严重依赖,JSP技
14、术大大加快了开发的速度。所有JSP的实现均支持以Java编程语言为基础的脚本语言,它有与生俱来的可适应性,支持复杂的操作。针对本聊天室也是使用了JSP技术,没有JSP的支持那么在显示层就无法显示数据,即使系统做的再好那也无济于事。1.2 STRUTS的概述当建筑师开始一个建筑项目时,首先要设计该建筑的框架结构,有了这份蓝图,接下来的实际建筑过程才会有条不紊,井然有序。同样,软件件开发者开始一个软件项目时,首先也应该构思该软件应用的框架,规划软件模块,并定义这些模块之间的接口和关系。框架可以提高软件开发的速度和效率,并且使软件更便于维护。对于开发web应用,要从头设计并开发一个可靠,稳定的框架并
15、不是一件容易的事。幸运的是,随着Web开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架,开发者可以直接使用他们,Struts就是一种不错的选择,他是基于MVC的Web应用框架。Struts实质上就是在JSP Model2的基础上实现的一个MVC框架。在Struts框架中,模型由实现业务逻辑的javaBean或者EJB组件构成,控制器ActionServlet和Action来实现,视图由一组JSP文件构成。1.2.1 视图 视图就是一组JSP文件,在这些JSP文件中没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或客户化标签,如Sturts标签库的标签。此外,
16、通常把Struts框架中的ActionForm Bean的也划分到视图模块中。ActionForm Bean也是一种javaBean,除了具有一些javaBean的常规方法,还包含一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。Struts框架把用户输入的表单数据保存在ActionForm Bean中,把它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用Struts标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。1.2.2 模型模型表示应用程序的状态和业务逻辑。对于大型应用,业务逻辑通常由javaBean
17、或者EJB组件来实现。1.2.3 控制器控制器由ActionServlet类和Action类来实现。ActionServlet类是Struts框架中的核心组件。ActionServlet继承了javax.servlet.http.HttpServlet类,它在MVC模型中扮演中央控制器的角色。ActionServlet主要负责接受HTTP请求信息,根据配置文件strut-config.xml的配置信息,把请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象。 Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的
18、流程。对于小型简单的应用,Action充当用户请求和业务逻辑处理之间的适配器(Adaptor),其功能就是将请求与业务逻辑分开,Action根据用户请求调用相关的业务逻辑组件。业务逻辑由java Bean或者EJB来完成,Action类侧重于控制应用程序的流程,而不是实现应用程序的逻辑。通过将业逻辑放在单独的java包或EJB中,可以提高程序的灵活性和可充用性。 当actionServlet控制器收到用户请求后,把请求转发到一个Action实例。如果这个实例不存在,控制器会首先创建它,然后调用这个Action实例的execute()方法。Action的execute()方法返回ActionFo
19、rward对象,它封装了把用户请求在转发给其他Web组件的信息。用户定义自己的Action类。即Action基类的子类时,必须覆盖execute()方法。在Action基类中该方法返回null。 图1-1 MVC模型图MVC模式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。早期的程序中,如果不注意模块与模块之间的耦合性,常常会增加程序的复杂性以及难以维护性。尽管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串
20、输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能 。1.3 AJAX的概述Ajax技术就是所谓的Web 2.0技术的重要组成部分,Ajax技术既是对传统Web技术的革命,也是对传统Web技术的一种改良和发展。引入Aj
21、ax技术后,不仅改进了Web应用的性能,也改善了用户的体验。下面就从几个方面谈谈传统Web应用与Ajax之间的不同。用户体验方面:这是Ajax技术最大的改善之处,对于传统的Web应用,用户只能发送独占式请求,一旦请求发送出去,页面就处于等待状态,等待服务器响应完成,在服务器响应完成之前,客户端的浏览器只能是一片空白;而Ajax技术则完全不同,它允许采用异步的方法发送请求,请求的发送完全不会阻塞当前的浏览器线程,浏览器可以继续下一步操作,例如继续浏览,甚至再次发送异步请求。对于用户的体验而言,Ajax提供了一种重大的改善,它让用户不会处于等待状态,用户会感觉自己一直与应用处于交互状态。响应速度:
22、就响应速度而言,一般人会认为Ajax应用的速度比传统Web应用要快,实际上这种说法并不完全正确。正如前面见到的,基于Ajax的应用需要大量增加JavaScript代码,大量增加JavaScript代码后的Web页面在第一次加载时速度将比传统Web页还慢(因为必须下载大量的JavaScript代码)。一旦进入该页后,响应速度便会明显提高,因为无须频繁地在各页面之间跳转,从服务器获得的仅是必须改变的数据,因此减少了冗余数据的下载,从而大幅度提高响应速度。有的人说,Ajax包含的大量JavaScript代码会占用用户的大量带宽,这是相当错误的说法,Ajax应用让页面一次下载,但可以多次重复使用。表面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 web 聊天室 构建 毕业设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。