




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Ajax技术的参考咨询平台的设计与实现刘 凡 馨西华大学 成都 610039摘要 针对参考咨询平台工作的现状,介绍Ajax技术的优势和特点,设计和实现输入实时显示的参考咨询平台,解决参考咨询效率和咨询平台流量以及人性化问题,提高图书馆和读者的工作效率。该系统人机界面友好,操作简单,扩充灵活。关键词 Ajax 参考咨询 DOM JavaScript VBScript分类号 G354.43 TP311.11 The designing and implementing of advisory reference platform based on AjaxLiu FanxinLibrary of Xihua University, Chengdu 610039Abstract In allusion to the status of advisory reference platform, introduce the advantages and features of Ajax technical, design and realize displaying real-time information, solve the Advisory platforms reference flows and advisory efficiency and humanization, improve the efficiency of the library and readers. The computer system have friendly interface, simple to operate and expand flexible.KeyWords Ajax Reference DOM JavaScript VBScript1 引言国际图联第71届大会上,主席Alex Byrne介绍由社会、专业和成员三个支柱构成的国际图联发展战略,反映了整个社会对信息环境、信息获取、信息服务、信息自由等的发展需求。而参考咨询平台是读者与信息中心进行信息交流的最理想平台。读者进行信息检索时由于服务器是整页刷新及信息检索不是按输入逐字或逐词实时输入显示而导致检索工作繁杂、速度慢、刷新率低、人性化不足等缺点。笔者就此利用Ajax技术设计和实现逐字和逐词实时输入显示的参考咨询平台,以解决速度和流量及服务器负荷等问题,提高工作效率。2 Ajax技术2.1 Ajax技术特点Jesse James Garrett最早提出了Ajax的概念,指出Ajax实际上是几项技术的组合,主要包括:XHTML、CSS、DOM、XML、XSLT、XMLHttpRequest、JavaScript以及VBScript等。Ajax主要有以下几方面的特点: 减轻服务器的负担。AJAX的原则是“按需取数据”,可以最大程度的减少冗余请求和响应对服务器造成的负担。另外,也可把服务器负担的一些工作转嫁到客户端,利用客户端闲置的能力来处理。 可调用外部数据。 刷新需要更新的页面部分,减轻服务器负担和减少用户心理和实际的等待时间。 逐字逐词输入显示,带来更好的用户体验。 实现数据和页面呈现的分离。通常,用户执行一个请求,Web服务器就重新向客户端发送整个页面,而应用Ajax,则可在向服务器请求的过程中保持当前页面,用户可继续阅读页面,而服务器只需返回用户请求的内容,不需重新生成整个页面。图1说明了传统Web页刷新和Ajax技术页面刷新之间的区别。新页请求Web服务器客户浏览器传统Web页Web服务器请求数据新页请求Ajax浏览器Ajax Web页图1传统与Ajax Web页2 .2 Ajax相关技术Ajax的核心是XMLHttpRequest,它实现与服务器的异步数据交换,向服务器发送请求,返回请求数据后,在客户端完成页面更新。XHTML、CSS、DOM、XML、XSLT、JavaScript和VBScript等技术则使用XMLHttpRequest返回的数据更新页面。 XMLHttpRequest XMLHttpRequest的前身是Microsoft在IE中使用的ActiveX对象XMLHttp,它用于在不改变当前Web页URL的情况下,与服务器交换数据。XMLHttpRequest的使用主要包括3个步骤:创建XMLHttpRequest对象、发送请求、处理返回结果。 DOM DOM为文档对象模型,它将HTML和XML文档抽象为树型结构,文档中的每一个基本组成部分,如元素、元素内容、元素属性、注释以及处理指令,分别创建为一个节点。DOM不仅允许修改页面元素,还可添加新的元素,从而在不刷新整个页面的情况下,实现页面内容更新。 脚本语言与页面更新 典型的脚本语言如JavaScript、JScript和VBScript,这些脚本语言在Web页中被广泛使用,并且都支持DOM。3 参考咨询平台工作的现状3.1国内参考咨询平台基本功能介绍国内参考咨询平台功能是根据读者和参考咨询的需求定做的。笔者统计国家科学数字图书馆参考咨询系统、国家图书馆、清华大学图书馆、武汉大学图书馆、北邮电信数字图书馆、中国数字图书馆等200余参考咨询系统其基本功能有表单咨询、实时咨询、电话咨询、当面咨询等,各参考咨询平台所用术语不完全相同,但功能相同。有一共同点:读者进行咨询之前要求进入咨询系统进行问题和答案的检索。在检索过程中,受读者自由关键词和服务器等因素的影响,易产生咨询疲劳。3.2 参考咨询平台面临的问题服务器负荷 随着读者对信息需求量的增加,参考咨询量成指数上升,各大咨询系统服务器的负荷成倍增加。服务器的负荷问题成了咨询平台的硬件障碍。咨询平台技术 目前,参考咨询平台建设主要使用HTML、DHTML、ASP等实现,无一例外采用传统Web页面风格,即通过刷新整个页面来更新页面内容。例如,在国家科学数字图书馆参考咨询系统中,当用户填写了提问表单后,提交表单会刷新整个页面。在服务器返回结果前,浏览器显示空白页面,用户只有等待服务器返回。咨询服务效率 一方面受服务器负荷的影响,另一方面受访问速度的影响。在线咨询时段限制 在线咨询一般是专家正常工作日进行咨询,也是参考咨询最理想的方式。就图书馆而言,读者一般是学生或教师,其空闲时间与在线咨询时间相冲突。问题及答案数据库 参考咨询检索速度慢,问题分类不明确,查找问题及答案的工作繁琐。4 用Ajax技术实现的咨询系统4.1设计思路参考咨询系统的设计主要考虑解决目前国内咨询平台的问题。利用Ajax技术的刷新需更新的页面可解决服务器负荷、访问速度、问题答案数据库的数据管理问题,利用Ajax技术的输入逐字逐词实时显示可解决咨询服务效率以及协调在线咨询时段限制的问题。4.1.1 服务器页面数据部分更新设计根据读者对咨询系统的菜单选择,实现更新内容的刷新。可直接利用Ajax技术来设计参考咨询系统。设计四个主要的菜单:表单咨询,实时咨询,电话咨询,当面咨询。4.1.2 问题及答案数据库的数据管理设计根据目前参考咨询的发展情况来看,读者不管是以哪种方式进行咨询,都必须先通过常见问题及其答案数据库检索后才能进行。由于检索的方式及数据库本身的功能直接影响检索的效率和结果。故,数据管理设计为以读者输入的数据为基准,实现实时逐字逐词输入显示,直接把数据库的相关内容完全传递给读者。4.2 软硬件环境4.2.1硬件环境参考咨询平台服务器的硬件环境应具备安装操作系统和Web服务器的基本要求,客户端则需要具备安装操作系统和Web浏览器的基本条件。操作系统最小系统要求:300MHz或更高的CPU,至少需要233 MHz;硬盘最少空间大约为80GB;Super VGA(800x600)或分辨率更高的视频适配器和监视器。4.2.2 软件环境参考咨询平台服务器的软件环境要求Windows 2000或XP操作系统,安装操作系统自带的IIS服务器。安装创建参考咨询平台数据库需要的数据库管理系统,如Microsoft Access 2000或更高版本。参考咨询平台服务器的软件环境要求安装Internet Explorer浏览器。4.3 程序实现以常见问题查询功能为例,说明采用Ajax技术实现参考咨询功能。4.3.1 程序界面图3显示了当用户输入常见问题查询关键字时,在页面中动态显示以输入字符开始的常见问题列表。输入的查询关键字越多,显示的常见问题则越匹配,如图4所示。 图3 逐词检索1 图4 逐词检索2在页面中单击问题,即可在不刷新整个页面的/情况下,在页面中显示问题答案,如图5所示。图5 查看问题答案4.3.2 实现步骤实现步骤主要包括创建问题数据库、设计查询ASP和设计客户端Web页。 创建问题数据库创建问题数据库可使用Microsoft Access 2000数据库,或者其他数据库。选择不同的数据库,需要在查询ASP中为ADO对象指定对应的启动程序。本文常见的问题数据库如图6所示。图6 问题数据库 设计查询ASP查询ASP主要根据用户输入的查询关键字,执行查询操作,并将查询结果以XML格式返回客户端。其代码如下:% Response.ContentType=text/xmlResponse.Charset=gb2312querykey=Request.QueryString(querykey)set con=Server.CreateObject(ADODB.Connection)strcn=provider=Microsoft.Jet.OLEDB.4.0; & _Data Source= & Server.MapPath(参考咨询.mdb) con.open strcnset rs=Server.CreateObject(ADODB.Recordset)strsql=select faqid,问题,答案 from 常见问题答案 if querykey then strsql=strsql & where 问题 like & querykey & %rs.cursorlocation=3rs.open strsql,conif rs.recordcount0 thenResponse.write while(not rs.eof) Response.write Response.write rs.fields(faqid)Response.write Response.write rs.fields(问题)Response.write Response.write rs.fields(答案)Response.write rs.movenext()wendResponse.write end if % 设计客户端Web页客户端Web页为提供一个Internet浏览器界面,便于用户通过浏览器访问参考咨询平台的常见问题查询界面。在设计时,为了在用户输入查询关键字时动态显示匹配的常见问题,需要编写文本框的onkeyup事件处理过程。在过程中创建XMLHttpRequest对象,向服务器发送异步查询请求,并指定处理查询返回结果的函数。在显示查询返回结果时,使用DOM对象更新用于显示结果的HTML标记,从而避免更新整个页面。客户端Web页的完整代码如下:参考咨询 var xmlhttp,faqindex=-1; function makequery(here) faqindex=here;var querykey=document.getElementById(txtqueryText);xmlhttp = new ActiveXObject(Msxml2.XMLHTTP); xmlhttp.onreadystatechange = outputresult;/指定结果处理函数 xmlhttp.open(POST, doquery.asp?querykey=+querykey.value, true); xmlhttp.send(null);/发送请求 function showanswer(index)makequery(index); function outputresult() var outspan,i,str=;outspan=document.getElementById(outText);if (xmlhttp.readyState = 4) if (xmlhttp.status = 200) var xmldoc=xmlhttp.responseXML;var item,node=xmldoc.documentElement;for(i=0;inode.childNodes.length;i+)item=node.childNodes(i).childNodes(0).text;str+=(+(i+1)+);str+=node.childNodes(i).childNodes(1).text+;if(faqindex=item)str+=答案: +node.childNodes(i).childNodes(2).text;str+=;outspan.innerHTML=str+; else outspan.in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合成孔径激光雷达技术:原理、发展与挑战
- 合作学习:开启大学英语自主学习的新钥匙
- 民政局发布离婚协议书范本及财产分割原则说明
- 原生大红紫薇苗木采购合同2篇
- 民警演讲面试题库及答案
- 教师招聘之《小学教师招聘》考试历年机考真题集含答案详解【能力提升】
- 2025呼伦贝尔农垦集团有限公司校园招聘44人笔试模拟及答案详解(新)
- 2025内蒙古呼伦贝尔农垦谢尔塔拉农牧场有限公司调整部分岗位报考专业要求笔试模拟及完整答案详解一套
- 教师招聘之《小学教师招聘》能力测试备考题含答案详解【培优】
- 2025年教师招聘之《幼儿教师招聘》考前冲刺模拟题库附答案详解【黄金题型】
- 历届澳网男单冠军一览表、历史介绍
- DL∕T 1870-2018 电力系统网源协调技术规范
- 预防导管相关性血流感染(CDC指南解读)
- 2024年江苏省高中学业水平合格性考试数学试卷试题(答案详解1)
- 关于颈椎病介绍
- 静疗健康宣教
- 养老金融论文
- 建筑行业新员工入职培训指南书
- 《国家大地坐标系》课件
- 危重患者的护理评估与观察课件
- 食品新产品开发 课件 第三章 食品新产品开发配方设计
评论
0/150
提交评论