web聊天室-本科毕业设计说明书.doc
《web聊天室-本科毕业设计说明书.doc》由会员分享,可在线阅读,更多相关《web聊天室-本科毕业设计说明书.doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学校代码: 10128学 号: 040201008 本科毕业设计说明书(题 目:基于Web的聊天室构建学生姓名:寇 志 峰学 院:信息工程学院系 别:计算机系专 业:计算机科学与技术班 级:计算机04-1指导教师:邢红梅 讲师 丁长明 工程师二 八 年 六 月内蒙古工业大学本科毕业设计说明书摘 要随着网络的发展与技术的不断成熟,越来越多出色的聊天软件冲击着聊天室的发展,聊天室要想在夹缝中生存,必须有自己的特点。现在各大网站都把聊天室嵌入到了网站中,但是目前还没有一个专门的聊天室的网站,所以这是一个聊天室发展的突破口。针对聊天室的特点,即时通讯和没有繁琐的注册过程以及操作的方便性,因此特地开发了
2、本系统。本系统是典型的基于WEB的应用,因为客户端就是浏览器,客户只需要有浏览器就可以聊天。其开发过程主要是服务器端的开发,包括:底层数据的建立,中间业务逻辑的处理和前端数据的显示。本系统根据对相关技术的分析对比,系统实现采用Struts和Ajax等技术,底层数据库使用Oracle,数据库连接使用JDBC。系统的主要功能有:用户的管理,包括用户登录,用户注册;房间的管理,包括房间的曾删改查操作;用户聊天,包括公聊和私聊,发送表情,屏蔽讲话,返回最近的聊天记录等功能。关键词:聊天室;基于web应用;即时通信;AbstractWith the development of network and
3、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 However there is no a special chatting rooms site,
4、 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 applications, because the client is the browser, a brows
5、er 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 system uses technologies such as Struts and Aja
6、x,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, including public and private chatting, sending ex
7、pressions, shielding speech,returning to the record. Keywords: chatting rooms; Web-based application; Instant Message目 录引 言2第一章 系统使用的技术概述21.1 JSP的概述21.2 STRUTS的概述21.2.1 视图31.2.2 模型31.2.3 控制器31.3 AJAX的概述41.4 JDBC的概述51.4.1 JDBC驱动程序的类型61.4.2 Connection 对象61.4.3 Statement 对象61.4.4 ResultSet 对象7第二章 聊天室的需
8、求分析82.1 需求分析82.2 总体设计思想82.3 系统功能描述82.3.1 前台功能82.3.2 聊天室的后台92.4 系统的用例图92.5 性能需求10第三章 聊天室系统详细设计113.1 数据库设计113.2 数据库的需求分析113.3 软件硬件接口143.4 系统流程图143.5 软接结构16第四章聊天室系统的实现174.1 房间列表的实现174.2 录页面的实现174.3 chat页面的实现194.4 管理员登录界面的实现214.5 后台管理也页面的实现22第五章 测试与运行25.1 软件测试的目的和原则25.1.1 测试环境26.1.2 测试结果26.2 软件的运行与安装27.
9、2.1 应用程序的构建、部署27.2.2 系统运行过程27.3 运行和维护27结 论29参考文献30谢 辞31引 言随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持, 而聊天室是人们最常见,最直接的网上交流方式。在网络中,人们不需要知道对方真实的姓名,年龄,只要是在同一个软件或者同一个聊天室里,大家都可以放下身心的包袱,无拘无束的交友、抒发自己的感想来缓减压力。不会因为一些不合理的原因,限制住自己的语言。可以这么说,网络带动了信息的交流,而聊天带来了人们更多的朋友和伙伴。 人们在生活、学习、工作中难免会遇到各种各样的问题,比如生活中的不愉快、学习上的困惑、工作中的不顺利都会使人
10、们的心情变得很糟糕,当人们无法解决这些困惑时,就需要找个人来聊天释放心中的不愉快。那么聊天室就是一个不错的选择,在这聊天室里尽管说出自己心中的困惑,因为这里是无拘无束的。聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的聊天系统是基于web开发设计的,其主要特性是能动态、实时的完成信息的传递,其运行所需环境及其工作流程将在本文依次介绍,并且文中提供了部分程序源代码。根据当前网络的需求,网络聊天越来越受到各种网民的青睐。因此开发网络聊天是相当有必要,而且在网站内增加聊天功能,它不仅可以提高网站的访问量,同时还可以留住访客,更重要的
11、是让访客通过聊天室进行实时的互相交流。当前的聊天室都是嵌在一些大型的网站中,比如,新浪、搜狐网站把聊天室嵌入到当中。就针对人们在生活、学习、工作中遇到的问题,这些网站就没有设立一个供人们讨论解决问题的聊天室。所以本文介绍的聊天室系统就针对这一问题提供了一个很好的交流平台,具有很好的现实意义和实用价值。第一章 系统使用的技术概述1.1 JSP的概述 JSP技术提供了一种简单快速的方法来创建显示动态生成内容的Web页面。也就是在MVC中充当V(View)的角色。由业界处于领先地位的Sun公司制定了相关的JSP技术规范,该规范定义了如何在服务器和JSP页面间进行交互,还描述了页面的格式和语法。 JS
12、P页面使用XML标签和scriptlets(一种使用Java语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML或者XML)直接传递回响应页面。通过这种方式,JSP页面实现了页面逻辑与其设计和显示的分离。 JSP技术是Java系列技术的一部分。JSP页面被编译成servlet,并调用JavaBeans组件(beans)或Enterprise JavaBeans组件(企业beans),以便在服务器端处理。因此,JSP技术在构建可升级的基于web的应用程序时扮演了重要角色。 JSP技术是行业协作的结果,它的设计是开放的,符合行业标准的,并支持绝大多数的服务器、浏览器和相关工
13、具。由于使用可重用的组件和标签取代了对页面本身脚本语言的严重依赖,JSP技术大大加快了开发的速度。所有JSP的实现均支持以Java编程语言为基础的脚本语言,它有与生俱来的可适应性,支持复杂的操作。 针对本聊天室也是使用了JSP技术,没有JSP的支持那么在显示层就无法显示数据,即使系统做的再好那也无济于事。1.2 STRUTS的概述当建筑师开始一个建筑项目时,首先要设计该建筑的框架结构,有了这份蓝图,接下来的实际建筑过程才会有条不紊,井然有序。同样,软件件开发者开始一个软件项目时,首先也应该构思该软件应用的框架,规划软件模块,并定义这些模块之间的接口和关系。框架可以提高软件开发的速度和效率,并且
14、使软件更便于维护。对于开发web应用,要从头设计并开发一个可靠,稳定的框架并不是一件容易的事。幸运的是,随着Web开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架,开发者可以直接使用他们,Struts就是一种不错的选择,他是基于MVC的Web应用框架。Struts实质上就是在JSP Model2的基础上实现的一个MVC框架。在Struts框架中,模型由实现业务逻辑的javaBean或者EJB组件构成,控制器ActionServlet和Action来实现,视图由一组JSP文件构成。1.2.1 视图 视图就是一组JSP文件,在这些JSP文件中没有业务逻辑,也没有模型信息,只有标签,这
15、些标签可以是标准的JSP标签或客户化标签,如Sturts标签库的标签。此外,通常把Struts框架中的ActionForm Bean的也划分到视图模块中。ActionForm Bean也是一种javaBean,除了具有一些javaBean的常规方法,还包含一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。Struts框架把用户输入的表单数据保存在ActionForm Bean中,把它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用Struts标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。1.2.2 模型模
16、型表示应用程序的状态和业务逻辑。对于大型应用,业务逻辑通常由javaBean或者EJB组件来实现。1.2.3 控制器控制器由ActionServlet类和Action类来实现。ActionServlet类是Struts框架中的核心组件。ActionServlet继承了javax.servlet.http.HttpServlet类,它在MVC模型中扮演中央控制器的角色。ActionServlet主要负责接受HTTP请求信息,根据配置文件strut-config.xml的配置信息,把请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对
17、象。 Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。对于小型简单的应用,Action充当用户请求和业务逻辑处理之间的适配器(Adaptor),其功能就是将请求与业务逻辑分开,Action根据用户请求调用相关的业务逻辑组件。业务逻辑由java Bean或者EJB来完成,Action类侧重于控制应用程序的流程,而不是实现应用程序的逻辑。通过将业逻辑放在单独的java包或EJB中,可以提高程序的灵活性和可充用性。 当actionServlet控制器收到用户请求后,把请求转发到一个Action实例。如果这个实例不存在,控制器会首先创建它,然后调用这个Action实例的ex
18、ecute()方法。Action的execute()方法返回ActionForward对象,它封装了把用户请求在转发给其他Web组件的信息。用户定义自己的Action类。即Action基类的子类时,必须覆盖execute()方法。在Action基类中该方法返回null。 图1-1 MVC模型图MVC模式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。早期的程序中,如果不注意模块与模块之间的耦合性,常常会增加程序的复杂性以及难以维护性。尽管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的
19、Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能 。1.3 AJAX的概述 Ajax技术就是所谓的Web 2.0技术的重要组成部分,Ajax
20、技术既是对传统Web技术的革命,也是对传统Web技术的一种改良和发展。引入Ajax技术后,不仅改进了Web应用的性能,也改善了用户的体验。下面就从几个方面谈谈传统Web应用与Ajax之间的不同。用户体验方面:这是Ajax技术最大的改善之处,对于传统的Web应用,用户只能发送独占式请求,一旦请求发送出去,页面就处于等待状态,等待服务器响应完成,在服务器响应完成之前,客户端的浏览器只能是一片空白;而Ajax技术则完全不同,它允许采用异步的方法发送请求,请求的发送完全不会阻塞当前的浏览器线程,浏览器可以继续下一步操作,例如继续浏览,甚至再次发送异步请求。对于用户的体验而言,Ajax提供了一种重大的改
21、善,它让用户不会处于等待状态,用户会感觉自己一直与应用处于交互状态。响应速度:就响应速度而言,一般人会认为Ajax应用的速度比传统Web应用要快,实际上这种说法并不完全正确。正如前面见到的,基于Ajax的应用需要大量增加JavaScript代码,大量增加JavaScript代码后的Web页面在第一次加载时速度将比传统Web页还慢(因为必须下载大量的JavaScript代码)。一旦进入该页后,响应速度便会明显提高,因为无须频繁地在各页面之间跳转,从服务器获得的仅是必须改变的数据,因此减少了冗余数据的下载,从而大幅度提高响应速度。有的人说,Ajax包含的大量JavaScript代码会占用用户的大量
22、带宽,这是相当错误的说法,Ajax应用让页面一次下载,但可以多次重复使用。表面上看,一次下载的JavaScript代码量虽然增大,但从长时间来看,传统Web应用需要多次下载Web页面,需要的带宽更大。 应用架构:传统Web应用主要由3层组成,而增加Ajax技术的Web应用将在传统的Web应用上额外增加一个Ajax引擎,其实质就是一层JavaScript代码。 开发的代码量:Ajax技术的大部分功能都依赖于JavaScript语言实现,大量的JavaScript代码严重降低了程序员的开发速度。服务器的负担:大量使用Ajax技术的Web应用将导致服务器的负担大大加重,因为Ajax技术往往比传统We
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- web 聊天室 本科 毕业设计 说明书
限制150内