文献综述Word格式文档下载.docx

上传人:b****3 文档编号:7965848 上传时间:2023-05-09 格式:DOCX 页数:11 大小:82.18KB
下载 相关 举报
文献综述Word格式文档下载.docx_第1页
第1页 / 共11页
文献综述Word格式文档下载.docx_第2页
第2页 / 共11页
文献综述Word格式文档下载.docx_第3页
第3页 / 共11页
文献综述Word格式文档下载.docx_第4页
第4页 / 共11页
文献综述Word格式文档下载.docx_第5页
第5页 / 共11页
文献综述Word格式文档下载.docx_第6页
第6页 / 共11页
文献综述Word格式文档下载.docx_第7页
第7页 / 共11页
文献综述Word格式文档下载.docx_第8页
第8页 / 共11页
文献综述Word格式文档下载.docx_第9页
第9页 / 共11页
文献综述Word格式文档下载.docx_第10页
第10页 / 共11页
文献综述Word格式文档下载.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

文献综述Word格式文档下载.docx

《文献综述Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《文献综述Word格式文档下载.docx(11页珍藏版)》请在冰点文库上搜索。

文献综述Word格式文档下载.docx

摘要:

随着Internet的普及和宽带网络技术的成熟,聊天室这种交流方式已经被大众所认可。

通过聊天室在线聊天已成为网络上人与人之间的沟通、交流和联系的一种方式,为此越来越多的网站开始提供在线聊天的功能。

与此同时,聊天室也以其方便、快捷和低成本等优势受到众多企业的青睐,很多企业的网站中也加入了聊天室,以达到增进企业与消费者之间、消费者与消费者之间相互交流和联系的目的。

系统开发的任务主要包括前台界面设计和后台数据库管理系统设计。

前台采用JSP开发工具和Ajax技术,后台数据库采用Oracle11g数据库设计,利用iBaits工具和JDBC数据库访问技术实现对数据库的各种管理和操作,实现聊天室的群聊和私聊功能和显示在线聊天用户信息等功能。

关键词:

聊天室,JDBC数据库访问技术,Ajax技术,jsp

Java-basedwebchatrooms

StudentmajorinInformationandComputingScience:

yiwangChen

Guidanceteacher:

aipingLi

Abstract:

WiththepopularityoftheInternetandbroadbandnetworktechnologymatures,chatrooms,thisformofcommunicationhasbeenthepublicrecognition.Throughchatrooms,onlinechathasbecomeawayofcommunication,exchangesandcontactbetweenpeopleonthenetwork,thismoreandmorewebsitesstartedofferingonlinechatfunction.Atthesametime,thechatroomsalsofavoredbymanybusinesseswithitsconvenient,efficientandcostadvantages,thesiteofmanycompaniesalsojoinedthechatroom,inordertoachievetheincreasebetweenbusinessesandconsumers,theconsumerandtheconsumerthepurposeofmutualexchangeandcontact.Thetaskofthesystemdevelopmentincludingthefrontinterfacedesignandback-enddatabasemanagementsystemdesigned.TheforegroundJSPdevelopmenttoolsandAjaxtechnology,back-enddatabaseusingtheOracle11gdatabasedesignusingiBaitstoolsandJDBCdatabaseaccesstechnologytoachieveavarietyofdatabasemanagementandoperation,chat,groupchatandprivatechatfunctionanddisplayonlinechatuserinformationandotherfunctions.

Keywords:

Chatrooms,JDBCdatabaseaccesstechnology,Ajaxtechnology,jsp

前言:

随着Internet的普及和宽带网络技术的成熟,越来越多的用户进入到网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效。

与此同时,一个新型的Web应用程序为网民之间提供了一个即时互通信息的功能和场所,这就是聊天室。

聊天室在网络早期就开始盛行了,不论是BBS、IRC都有类似的网上聊天机制。

聊天室为网友提供了实时对话的渠道,是网络上极为流行的一种服务。

聊天室适用于网上会议或闲聊的场合。

聊天室为网友提供了较好的交友环境,网友之间互相以文字交谈,在形式上类似笔友的性质,却大大节省了书信往返的时间。

很显然,一个聊天室应用程序必须有一个服务组件。

在所有聊天者之间需要某个代理去跟踪各类聊天信息,谁登录进来并在哪个聊天室聊天,以及系统级事项。

不过更重要的是需要某个消息仲裁程序(arbiter)---当前有指定聊天室中所有聊天用户查看消息有一种方式。

在AOL这类“真实”聊天应用程序中,服务实际上是将新消息推给聊天室中的用户的。

这样一旦在聊天室中发了消息,其他人就能看到,之间没有延迟。

正文

1.聊天室的发展阶段:

1.1静态网页聊天室阶段

静态网页聊天室前台通过HTML静态网页实现用户与用户、用户与服务器之间的交互,若用户想要查看其他用户或者是服务器发来的消息,必须要退出后再重新登录中或者手动刷新,才可以查看上一次登录后的消息。

1.2自动刷新聊天室阶段

虽然静态网页聊天室的出现解决用户对聊天室出现的向往的问题,但是用户若想要查看消息必须要退出后再重新登录,这样繁琐的退出与重新登录操作不能从根本上解决用户交互的需求,这时自动刷新聊天室出现可以解决上述问题。

自动刷新聊天室是通过设置一个周期性的自动刷新时间,这样的自动刷新就会向服务端发送一个请求,这种聊天室类似于早期版本的3GQQ。

1.3局部自动刷新聊天室阶段

尽管自动刷新聊天室尽管很好的解决了早期聊天室的手动刷新的带来问题,但是新的问题又产生了:

如果在周期时间内没有发送消息,还是同样的刷新页面,这样会浪费网络的带宽,特别是在网络不是很流畅的情况下;

同样自动刷新整个页面会造成页面的轻微拉动,在视觉上给用户带来不好的影响。

这样就需要局部自动刷新页面技术,Ajax能很好的实现这点,所以局部自动刷新聊天室就这样产生了,这个也是现在最流行的网络聊天室。

2.现在最流行的聊天室

2.1聊天室的流程

2.2最流行聊天室的功能

通过该聊天室,用户可以通过设置不同的用户名和密码以各种不同的身份进入聊天室,用户的类型有两种:

普通用户和管理员。

普通用户可以在聊天室中发送信息,也可以和指定的聊天对象用户私聊,还可以对发送的信息进行动作、颜色等方面的限制。

管理员出了具有普通用户的功能外,还可以对在线用户和所有数据库中的用户进行设置,以便对聊天室进行维护。

管理员可以把在线用户踢出聊天室,还可以删除其他管理员不希望再次进入聊天室的用户。

聊天室又分为三类,用户可以根据自己的需要进入不同的聊天室进行聊天。

系统还应具有自动把在线但不发言的时间超过系统设置的时间的用户踢出聊天室和的功能,还应具有当有新用户进入聊天室时,实时更新在线用户的功能。

聊天室的特点就是要求能够实时显示出聊天者所谈的内容。

即在同一个聊天室的使用者,可以在短时间内立刻看到其他聊天者的发言。

作为用户喜欢的Web应用程序,出了具有能够实时显示出聊天者所谈论的内容外,还应具有以多种方式发布信息的功能。

JSP正好可以满足聊天室的这种要求,它可以快速地创建和显示Web页面的动态内容。

总的来说,最流行的聊天室主要实现了以下的功能:

1、用户输入帐号,密码登录聊天室

2、用户注册帐号,并把用户信息写入数据库

3、把用户的聊天信息写入数据库

4、用户可以修改聊天语句的颜色,选择说话动作

5、用户聊天室可以选择聊天对象(私聊,群聊)

6、聊天室不断地对数据库进行刷新、读取

7、实时更新在线的用户

8、管理员管理在线用户

3.聊天室的MVC模型

3.1MVC简介

系统开发采用基于模型视图控制器(MVCmodel-view-controller)的设计模式。

MVC是1979(1980年被用于SmallTalk-80)由TrygveReenskaug提出,Model-View-Controler的简称(模型-视图-控制器)

▪Model—代表了数据对象,model层用来实现业务逻辑

▪View—用来在屏幕上显示数据对象的当前状态,是应用程序的外观

▪Controller-主要负责View层和model层之间的控制关系。

具体实现时,把Servlet作为应用程序的控制器,把JSP作为视图,JavaBeans被用来表示模型。

所有的请求都被发送给作为控制器的Servlet,他接受请求,并根据请求信息将他们分发给适当的JSP来响应。

同时servlet还根据JSP的需求生成JavaBeans的实例并输给JSP环境。

JSP可以通过直接调用方法或使用UseBean的自定义标签得到JavaBeans中的数据。

能够达到数据层与表示层的分离,使开发空座更加容易和迅速。

3.2MVC结构图

4.最流行聊天室用到的技术

聊天室程序设计根据需求的不同可繁可简,下面研究的是一个具有简易功能的聊天室,是使用JSP+Ajax实现的无刷新动态网站聊天室。

以下分别介绍每种技术:

1、jsp动态网页技术

2、Ajax技术

3、JDBC数据库访问技术

4、iBaits数据库访问工具

下面分别介绍很种技术

4.1JSP动态网页技术

4.1.1JSP的起源

HTML是一种标识语言,用于指定可视页面的构成元素,通过超连接可以实现页面之间的跳转。

因为静态页面是用单纯的HTML语言组成的,其内容在创建之初就已经定义好,只是简单的展示给客户端用户,它不具有交互性,所以静态页面已经不能满足网络快速发展的的需要。

为了满足实际的需要,能够产生动态内容的动态网页技术应运而生。

该技术允许将商业逻辑组件镶嵌支HTML代码中,根据客户端需要动态地产生响应数据,响应数据的外观依然由HTML标识。

一个动态网页由标识语言代码和编程语言代码构成。

当客户端发送请求时,服务器首先执行编程语言代码,用执行结果替换掉编程语言代码,和原有标识语言代码合并,最后把合并后的网页发送回客户端。

根据标识语言代码和编程语言代码间的关系,存在一种最为流行的动态网页技术是将编程语言代码镶嵌到标识语言代码中,例如JSP、ASP技术。

4.1.2JSP动态网页的优势

通过比较ASP和JSP这两种传统的动态网页制作技术,觉得JSP具有明显的优势:

(1)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,到处运行”的特点,一次写入之后,可以运行在任何具有符合Java语法结构的环境中,取代过去单一开发。

而ASP主要工作环境是微软的IIS应用程序,又因Activex对象具有平台特性,所以ASP技术不能很容易的实现跨平台的WEB服务器的工作。

(2)ASP仅支持组建对象模型COM,而JSP技术提供的组建都是基于JavaBean技术或JSP标签库。

除此之外,JSP还有组件的可重用性,标签的可扩充性和易于维护等特点。

如上的分析比较不难看出,JSP技术编写的程序运用要更加灵活,可扩展性更强。

4.2Ajax技术

4.2.1Ajax的产生

如果你正要创建一个纯粹的基于HTML的聊天应用程序,那么,与我们即将实现的这个应用程序一样,你必须考虑到这些方面。

但是由点由于Web是以C/S交互的拉模式为基础的,忽略了很多东西,如applet,所以你的处理方式将会有一些不同。

所以在页面上将有一个元(meta)刷新标签定期向服务器请求新消息,但每一次都要重绘整个屏幕,这种方式的效率相当低,特别是当你利用JSP或其他动态呈现技术来实现的时候,就需要服务承担重绘工作。

这里肯定有更好的实现方式,这种方式就是:

Ajax!

4.2.2Ajax简介

Ajax技术是Web2.0的核心之一,本质上是一种RIA(RichIllternetApplication)技术。

RIA是指具有高度互动性和丰富用户体验的网络应用程序,它既具有消息确认、无刷新页面之下提供快捷的界面响应、拖放式等桌面应用程序的特点,同时又具有部署简单、跨平台等Web应用程序的特点。

Ajax技术提供了客户端与服务器异步通信的能力,从而使用户从请求一响应一再请求的循环中解脱出来,同时降低了网络传输的数据量,提高了客户端的响应速度,改善了用户使用体验,使得web应用可以接近甚至达到类似“桌面应用”的效果。

4.2.3Ajax技术的用途

Ajax技术的精髓是用异步交互替代了传统的同步交互,所以当用户操作时间大于服务器响应时间的时候,使用Ajax的效果非常明显。

而当程序性能的瓶颈在于服务器响应时间的时候,Ajax无法解决程序运行缓慢的问题。

因此,Ajax更适合应用在交互频繁的轻量级Web上。

在应用Ajax开发方面,Google公司成功地将Ajax技术应用到它们的商业产品中。

GoogleMap和GoogleSuggest都应用了这项技术。

当用户在使用GoogleMap浏览地图时(这里所说的浏览包括地图的放大缩小,以及地图的平移),并没有向服务器提交什么请求,就可以浏览到地图各个部分的内容。

在这里,正是应用了Ajax技术,使得地图并不是以刷新的方式显示,而是每次都在原有数据的基础上以增量方式显示。

这样,用户感觉就好像是在自己的计算机上查看本地的地图一样。

微软也在积极开发Ajax应用:

它将Ajax技术应用到MSNSpace上面。

当用户使用MSNSpace提交回复评论时,浏览器会暂时停顿一下,然后在无刷新的情况下把用户提交的评论显示出来,这个就是应用了Ajax的效果。

目前,Ajax应用最普遍的领域是GIS-Map方面。

GIS的区域搜索强调快速响应,Ajax的特点正好符合这种要求。

在应用Ajax技术开发过程当中,处于核心位置的Ajax引擎实际上是一些复杂的JavaScript程序。

4.2.3Ajax技术的不足

随着网络应用和界面表现的复杂化,使用面向过程的JavaScript语言描述表现逻辑将会变得很困难。

同时,JavaScript的兼容性和调试都会成为使用Ajax技术的一个障碍。

为了解决这些问题,开发人员已经开发出了一些基于Ajax技术的框架,方便了开发人员使用,有利于Ajax技术的进一步推广。

当然,任何技术都是有局限性的,Ajax也不例外。

Ajax更新页面无需刷新重载,这也使传统的一些用户交互行为变得不可用,如后退、前进和刷新等。

另外,移动设备(如手机、PDA等)现在还不能很好的支持Ajax,Ajax对流媒体的支持也没有JavaApplet和Flash这样成熟的技术好。

因此,一些辅助的平台和插件的开发也将是Ajax技术应用当中重要的一部分。

Ajax把大量的运算从服务器转移到了客户端浏览器,这意味着浏览器将承受更大的负担,而不再是简单的文档显示功能。

4.3JDBC数据库访问技术

4.3.1JDBC技术简介

 JDBC是个"

低级"

接口,也就是说,它用于直接调用SQL命令。

在这方面它的功能极佳,并比其它的数据库连接API易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。

高级接口是"

对用户友好的"

接口,它使用的是一种更易理解和更为方便的API,这种API在幕后被转换为诸如JDBC这样的低级接口。

 4.3.2JDBC技术的用途

在关系数据库的"

对象/关系"

映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。

于是,程序员可直接对Java对象进行操作;

存取数据所需的SQL调用将在"

掩盖下"

自动生成。

此外还可提供更复杂的映射,例如将多个表中的行结合进一个Java类中。

随着用数据库存取重要数据比文件更为方便和保险,人们对JDBC的兴趣日益增涨,越来越多的开发人员一直在使用基于JDBC的工具,以使程序的编写更加容易。

程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序。

例如应用程序可提供一个选择数据库任务的菜单。

任务被选定后,应用程序将给出提示及空白供填写执行选定任务所需的信息。

所需信息输入应用程序将自动调用所需的SQL命令。

在这样一种程序的协助下,即使用户根本不懂SQL的语法,也可以执行数据库任务。

  4.3.3JDBC技术的优势

目前,Microsoft的ODBCAPI可能是使用最广的、用于访问关系数据库的编程接口。

它能在几乎所有平台上连接几乎所有的数据库。

为什么Java不使用ODBC?

对这个问题的回答是:

Java可以使用ODBC,但最好是在JDBC的帮助下以JDBC-ODBC桥的形式使用,这一点我们稍后再说。

现在的问题已变成:

"

为什么需要JDBC"

答案是显然的:

ODBC不适合直接在Java中使用,因为它使用C语言接口。

从Java调用本地C代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。

从ODBCCAPI到JavaAPI的字面翻译是不可取的。

例如,Java没有指针,而ODBC却对指针用得很广泛(包括很容易出错的指针"

void*"

)。

您可以将JDBC想象成被转换为面向对象接口的ODBC,而面向对象的接口对Java程序员来说较易于接受。

  ODBC很难学。

它把简单和高级功能混在一起,而且即使对于简单的查询,其选项也极为复杂。

相反,JDBC尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。

启用"

纯Java"

机制需要象JDBC这样的JavaAPI。

如果使用ODBC,就必须手动地将ODBC驱动程序管理器和驱动程序安装在每台客户机上。

如果完全用Java编写JDBC驱动程序则JDBC代码在所有Java平台上(从网络计算机到大型机)都可以自动安装、移植并保证安全性。

  总之,JDBCAPI对于基本的SQL抽象和概念是一种自然的Java接口。

它建立在ODBC上而不是从零开始。

因此,熟悉ODBC的程序员将发现JDBC很容易使用。

JDBC保留了ODBC的基本设计特征;

事实上,两种接口都基于X/OpenSQLCLI(调用级接口)。

它们之间最大的区别在于:

JDBC以Java风格与优点为基础并进行优化,因此更加易于使用。

4.4iBaits数据库访问技术

4.4.1什么是iBaits技术

iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAO),同时还提供一个利用这个框架开发的JPetStore实例。

相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,ibatis是一种“半自动化”的ORM实现。

4.4.2iBaits技术的优势

纵观目前主流的ORM,无论Hibernate还是ApacheOJB,都对数据库结构提供了较为完整的封装,提供了从POJO到数据库表的全套映射机制。

程序员往往只需定义好了POJO到数据库表的映射关系,即可通过Hibernate或者OJB提供的方法完成持久层操作。

程序员甚至不需要对SQL的熟练掌握,Hibernate/OJB会根据制定的存储逻辑,自动生成对应的SQL并调用JDBC接口加以执行。

但是传统的JDBC技术和hibernate数据Hibernate等提供了全面的数据库封装机制总会遇到:

a.系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条SelectSQL(或存储过程)以获取所需数据,具体的表结构不予公开。

b.开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就笔者工作所面向的金融行业而言,工商银行、中国银行、交通银行,都在开发规范中严格指定)

c.系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。

面对这样的需求,再次举起Hibernate大刀,却发现刀锋不再锐利,甚至无法使用。

直接使用JDBC进行数据库操作实际上也是不错的选择,只是拖沓的数据库访问代码,乏味的字段读取操作令人厌烦。

 “半自动化”的ibatis,却刚好解决了这个问题。

这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现而言,“全自动”ORM实现了POJO和数据库表之间的映射,以及SQL的自动生成和执行。

而ibatis的着力点,则在于POJO与SQL之间的映射关系。

也就是说,ibatis并不会为程序员在运行期自动生成SQL执行。

具体的SQL需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。

使用ibatis提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate实现ORM而言基本一致,而对于具体的数据操作,Hibernate会自动生成SQL语句,而ibatis则要求开发者编写具体的SQL语句。

相对Hibernate等,“全自动”ORM机制而言,ibatis以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。

作为“全自动”ORM实现的一种有益补充,ibatis的出现显得别具意义。

结论

聊天室总体采用MVC模式:

前台采用JSP动态技术,实现页面的动态显示,这样用户就可以实时查看其他用户或者服务发来的消息,前台JSP页面再加上Ajax技术可以实现网页局部的刷新,在用户不知情的情况下对网页进行“偷偷”地刷新;

后台用基于JDBC的iBaits工具对数据库进行增、删、改、查操作。

每个MVC模型有机的结合组成了最流行聊天室的骨基本架,另外动态的jsp技术替代HTML静态技术,再嵌套AJAX自动刷新技术,访问后台的数据库的JDBC技术,连接前台面向对象和后台关系型数据库的iBaits,这样就组成了现在最流行聊天室。

参考文献:

[1]杨昭.JSP课程设计案例精编[M].北京:

中国水利水电出版社,2005.

[2]武延军,黄飞跃.精通JSP编程技术[M].北京:

人民邮电出版社,2001.

[3]赛奎春,JSP工程应用与项目实践[M].北京:

机械工业出版社,2005.

[4]贾素玲,王强.JSP应用开发技术[M].北京:

清华大学出版社,2008.

[5]王珊,萨师煊.数据库系统概论[M].北京:

高等教育出版社,2006. 

[6]刘瑞新,ASP动态网站开发毕业设计指导及实例

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2