2023
文件
分发
服务器
AJAx
实现
客户端
自动
研究
文件分发效劳器 [AJAX实现客户端对效劳器文件的自动分发研究]
: 客户端访问效劳器文件,并要求效劳器分发有关文件到客户端是基于B/S结构软件的研究热点,分析当前文件分发的缺点,提出一种新的文件分发方法,并用实际例子证明该方法的高效率性和实用性,对开发基于WEB的软件有一定的参考价值。
Abstract: Client Access server file and asking server to distribute documents to clients is researching point based on B/S structure software. This article analyzed the shortcomings of the current document distribution and proposed a new method which was prored by a practical example. The new method was proved that it was highly efficient and practical and has reference value for developing softwares based on WEB.
关键词: 效劳器;客户端;文件访问;传递数据
Key words: serves;clients;file access;transferring data
中图分类号:TP393 文献标识码:A文章编号:1006-4311(2022)05-0160-02
0引言
AJAX是一种综合JavaScript、XHTML和CSS、DOM、XML和XSTL、XML Request等多种技术的综合应用所形成的一种新的设计方式,Ajax核心是对象XML Request。该对象是一种支持异步请求的技术。因此Ajax采用的是异步交互过程,而非传统的Web应用程序所采用的同步交互过程。简而言之,Xml Request使您可以使用JavaScript向效劳器提出请求并处理响应,而不阻塞用户。使用Ajax技术相当于在用户和效劳器之间加了一个中间层,使用户操作与效劳器响应异步化。并不是所有的用户请求都提交给效劳器,像一些数据验证和数据处理等交给Ajax引擎自己来做,只有确定需要从效劳器读取新数据时再由Ajax引擎代为向效劳器提交请求,这样把以前的一些效劳器负担的工作转嫁到客户端,利用客户端闲置的处理能力来处理,减轻效劳器和带宽的负担,从而到达节约ISP的空间及带宽租用本钱的目的。特别是在客户端请求效劳器分发文件时,可以到达较高的效率,在下面的例子中我们将加于验证。
1效劳器中的文件访问方法
1.1 文件共享效劳器文件效劳是局域网中最常用的效劳之一,从Windows NT开始就随着Windows Server家族的不断升级换代而保存至今。在局域网中搭建文件效劳器以后,可以通过设置用户对共享资源的访问权限来保证共享资源的平安。文件共享效劳器为我们在局域网中访问效劳器中文件的一种简便方法,但如果要客户端首先要启用guest来宾帐户,并把本地帐户的共享和“平安模式〞要设为“仅来宾-本地用户以来宾的身份验证〞,还要关闭客户端网络防火墙。以上工作都要手工设置完成。假设要实现客户端自动访问效劳器文件那么不可能实现。
1.2 FTP效劳器FTP的全称是File Transfer Protocol(文件传输协议),是专门用来传输文件的协议。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP效劳器程序。用户通过客户机程序向效劳器程序发出命令,效劳器程序执行用户所发出的命令,并将执行的结果返回到客户机。使用FTP时必须首先,在远程主机上获得相应的权限以后,方可上载或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否那么便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。次方法属于主动访问方式,随时可以上传下载效劳器上的文件,但要实现文件自动分发那么难于实现。例如,在OFFICE的模块化考试软件中,要把试卷库中的OFFICE文件(word、excel、PowerPoint)文件自动分发到学生机上,该方法那么不能实现。
1.3 AJAX技术Ajax,异步JavaScript与XML,是使用客户端脚本与Web效劳器交换数据的Web应用开发方法。Ajax根本上就是把 Javascript 技术和 XML Request对象放在Web表单和效劳器之间。当用户填写表单时,数据发送给一些Javascript代码而不是直接发送给效劳器。相反,Javascript代码捕获表单数据并向效劳器发送请求。同时用户屏幕上的表单也不会闪烁、消失或延迟。换句话说,Javascript代码在幕后发送请求,用户甚至不知道请求的发出。
请求是异步发送,即Javascript代码(和用户)不用等待效劳器的响应。Xml 提供客户端同 效劳器通讯的协议。客户端可以通过Xml 对象(MSXML2.XML .3.0)向 效劳器发送请求并使用微软XML文档对象模型Microsoft®XML Document Object Model(DOM)处理回应。创立XML 对象,翻开与效劳端的连接,同时定义指令发送方式,效劳网页(URL)和请求权限等。客户端通过Open命令翻开与效劳端的效劳网页的连接。与普通 指令传送一样,可以用“GET〞方法或“POST〞方法指向效劳端的效劳网页。发送指令。等待并接收效劳端返回的处理结果。释放XML 对象。Microsoft.XML 对象,能够完成从数据包到Request对象的转换以及发送任务。Ajax 所倡导的异步通信方式使Web应用程序的用户体验正逐步向桌面系统的GUI体验靠近。Ajax主要用来提高Web应用程序的数据交换速度,按需更新Web 应用程序的用户界面内容,快速地监听和响应浏览器客户端的用户行为。目前,已经能看到不少采用Ajax技术而改善了传统Web开发方式的应用方向。下面我们用AJAX实现在客户端向效劳器请求时,向客户端自动分发文件的实例。
2用AJAX实现文件自动分发
现在有些大学在大学计算机根底课程的考试中,采用基于网络的在线考试,包括Windows操作、word操作、Excel操作、PPT操作都采用计算机自动评卷。这样的好处是节省阅卷时间,然而由于计算机阅卷,不可防止地使考试题规定得太“死〞,或许是为了机器阅卷的方便,很大程度上限制了学生能力的发挥。为了充分挖掘学生独立思考能力、创造能力和运用能力。我们应根据学生的实际情况需要或能力培养的需要制作题库,计算机自动对客户端随机分发不同的试卷,然后人工阅卷,摆脱以前考试的死板性,而给学生一个挑战及发挥的空间。使用AJAX技术,在客户端只要给出效劳器端存放文件的路径,就可以方便的把效劳器端的文件下载到客户端。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 效劳器端的脚本程序如下:
"
i=i+1
Next
%>
其中:paper是存放考试试卷的文件夹(试题库文件夹),并把文件夹中所有的文件名保存在数值ysmyfile(i)中,并把扩张名保存在变量exfile中然后根据扩张名,通过response.write把文件传递到客户端浏览器。
在客户端通过以下程把效劳器端的试卷库中的文件分发到客户端:
for i=1 to docss
myfile1A(i)=document.all("myfile11("&cstr(i)&")").value
next
for i=1 to mycount1
if ksmk1="WORD模块" then
if ss>docss then
ss=1
end if
Set x=CreateObject("Microsoft.xml ")
x.Open "GET","paper\"&myfile1A(ss),False
x.Send
Set mstream=CreateObject("Adodb.Stream")
mstream.Type=1
mstream.Open
mstream.Write x.responseBody
mstream.SaveToFile "d:\"&tfolder&"\"&maxtri(i)&"\考试题目.doc"
set mstream=nothing
set x=nothing
end if
ss=ss+1
next
其中:for i=1 to docss
myfile1A(i)=document.all("myfile11("&cstr(i)&")").value
next
是从客户端取出效劳器传递过来的文件名。
Set x=CreateObject("Microsoft.xml ")
x.Open "GET","paper\"&myfile1A(ss),True
x.Send
是实现从效劳器的试卷库中取出文件。
mstream.SaveToFile "d:\"&tfolder&"\"&maxtri(i)&"\考试题目.doc"
实现保存取出的文件保存到客户机的D盘,并改名为考试题目.doc。
在考试软件中,我们在教师机上根据效劳器上的学生信息数据库中的学生姓名及学号自动在教师机上建立学生考试文件夹,并自动共享出来,在学生机上,自动映射网驱动器到教师机上的共享文件夹中,文件分发是在教师机上进行,自动把文件分配到各个学生文件夹中。这样学生就可以翻开网络驱动器,直接看到考试试卷,翻开试卷文件即可参加考试,
3总结
AJAX应用可以仅向效劳器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自效劳器的响应。因为在效劳器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web效劳器的处理时间也减少了。使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并防止了在网络上发送那些没有改变过的信息。
但是,进行Ajax开发时,网络延迟――即用户发出请求到效劳器发出响应之间的间隔――需要慎重考虑。不给予用户明确的回应,没有恰当的预读数据 ,或者对XML Request的不恰当处理,都会使用户感到延迟,这是用户不欲看到的,也是他们无法理解的。通常的解决方案是,使用一个可视化的组件来告诉用户系统正在进行后台操作并且正在读取数据和内容。
参考文献:
[1]韩向春,吕艳霞.基于Wiki技术的Web GIS数据更新[J].计算机工程,2022,(11).
[2]刘香萍,赵雪岩,李建成.基于Web的UML建模系统[J].计算机工程,2022,(17).
[3]李伟,郑宁.运用XML和XSLT技术实现Web页面的重用[J]. 计算机应用,2004,(03).
[4]高兰,倪远平.采用Java技术开发可复用的Web表示层构件[J].计算机工程与设计,2022,