ASP如何实现滚动信息的实时更新?

ASP如何实现滚动信息的实时更新?,第1张

大庆石油学院学报第!"卷第#期!$$!年%!月
&'()+,'-+/01234)',3(506404(43789:!"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
8:#;<:!$$!
收稿日期:!$$!=$"=$#;审稿人:贾文举
作者简介:李春生(%>"$=),男,博士,教授,主要从事计算机应用方面的研究:
利用+62实现数据库与客户端脚本间的数据传递
李春生,郭玲玲
(大庆石油学院计算机科学与工程学院,黑龙江大庆%"%@)
摘要:介绍了+62技术的优越性,阐述了客户端脚本的优点和局限性:在此基础上,结合实例开发,提出了几种将
+62与客户端脚本相结合,实现后台数据库与客户端脚本之间数据传递的方法,即隐藏域式数据传递和+62内置对象
);AB8CA;数据传递方法:
关键词:+62;+';数据库;客户端脚本;数据传递
中图分类号:42>:$>!文献标识码:+文章编号:%$$$=%@>%(!$$!)$#=$$"!=$
+62是微软公司取代D10通用网关接口的新技术:+62利用E;F服务器功能处理用户请求和个人数
据,并能基于逻辑文件和数据库数据提供动态的个性化内容:换言之,+62可满足多用户同时运行E;F服
务器:目前,+62技术风靡全球,在0CG;HC;G上处处可见:应用+62无须复杂编程,即可开发出专业的动态
E;F站点:+62的出现给以静态内容为主的E;F带来全新的动态效果,使站点更具灵活和方便的交互能
力:客户端脚本是指客户端内嵌的描述语言,不在服务器端执行的语句:通常是使用7I6<HJBG或&KLK
6<HJBG来实现:编写客户端脚本最大的优点就在于其可由浏览器解释执行,不需增加服务器的负担:另外,
客户端脚本是在客户端解释执行,它可以实现服务器端脚本所不能实现的一些绚丽的特效:客户端脚本
也存在一定的局限性,由于它是在客户端解释执行,数据须预先设定,不便后台I内容的实时更新,而
+62最大的优势就在于它能与后台数据库进行信息交换:为此,笔者通过实例开发,利用+62技术提出了
几种后台数据库与客户端脚本之间的动态数据传递的方法,以实现客户端信息的实时更新:
图%+62工作模式
%+62技术的工作模式
+62是服务器端脚本编写环境,通过它
可以创建和运行动态、交互的E;F服务器应
用程序,可以组合M45,页、脚本命令和+<N
GJL;O组件,以创建交互的E;F页和基于E;F
的功能强大的应用程序:
+62的工作模式见图%,用户通过浏览
器从E;F服务器上请求:KAB文件时,+62脚
本开始运行,然后E;F服务器调用+62,+62全面读取请求的文件,执行所有脚本命令,并将E;F页传送给
浏览器:
由于脚本只在服务器上运行,传送到浏览器上的E;F页在E;F服务器上生成,所以不必担心浏览器
能否处理脚本,E;F服务器处理完所有的脚本后,将标准的M45,传输到浏览器:由于只有脚本的结果返
回到浏览器,所以服务器端脚本不易复制,用户看不到创建其浏览页的脚本命令:
!数据传递的实现方法
!:"隐藏域式传递数据
〓!"〓
!"#可以通过!$%或&$%方式与后台数据库动态交互数据〔'〕,而客户端脚本语言可以从表单域中提
取数据(如果事先将数据库里提取的数据存放到某表单域中,再传递给客户端脚本,就可以利用!"#实现
后台数据库与客户端脚本之间的数据传递(这里使用表单域中的隐藏域(隐藏域被用以收集或发送信
息,对于访问者是不可见的(其代码格式为:〈)+,--+/0“1)22/”34/0“…”536,/0“…”〉(
隐藏域式传递数据的具体方法如下:先将!"#和数据库建立连接〔7〕,并按照需要读取相关数据,后用
!"#将取出的数据写入隐藏域,此时,客户端脚本便可在运行过程中从隐藏域读取由!"#动态传来的数
据(关键代码如下:
〈"89)+-63:,3:/0“;<"89)+-”9,3-0“=/95/9”〉
〈>……
809=(“8-/-”)>〉
〈@=89)+-〉
〈A9434/0“39-)86/”〉
〈-+/0“1)22/”34/0“8-/-”536,/0“〈>08>〉”〉
〈"89)+-63:,3:/0“B353"89)+-”〉
〈!CC
8028,4/-(39-)86/(8-/-(536,/
……
CC〉
〈@=89)+-〉
其中:!"#代码中的8表示由数据库中取出来的8-/-字段的数据,随后又将8的内容赋给隐藏域8D
-/-,后面的B353"89)+-代码就可以通过隐藏域提取数据了(采用这样一个中间转换的方法可以比较容易地
实现后台数据库与客户端脚本之间的数据传递(这是一种常规的做法,但其要求数据个数确定,具有局限
性,因此,只适用于少量数据的传递(
!(!借助!"#内置对象&/=+=/传递数据
由于隐藏域方法的局限性,笔者又尝试采用!"#的内置对象&/=+=/来实现数据的传递〔E〕(&/=+=/
对象被用于将服务端数据发送到客户端,通过客户端浏览器显示,它与&/F,/=-获取客户端GHH#信息的
功能恰恰相反(借助!"#内置对象&/=+=/传递数据的具体做法如下:先建立!"#和数据库的连接,并按
照需要读取相关的数据,后用&/=+=/的信息传递功能将待传递的!"#数据嵌入,并将其作为变量的赋值
内容传递给在脚本语言中定义的数组,再将此数组传送给客户端,此时数组中内容即为!"#中传递的数
据;最后,在客户端脚本中使用此数组内容,实现!"#与客户端脚本间的数据传递(此方法对传递的数据
量和个数没有限制(关键代码如下:
〈"89)+-63:,3:/0“;<"89)+-”9,3-0“=/95/9”〉
〈>……
I0J
K1)6/-9=(/A
=-90“4/==3:/=〔“LIL”〕0”“〈319/A06),63(3=+?)20“L9=(“)2”)(536,/L“-39:/-0M63I(1-4
〉”L-9)4(9=(“-)-6/”)(536,/)L“〈@3〉”””L819('E)
9/=+=/(K9)-/=-9
9=(45//N-
K/2
〓EO〓
第P期李春生等:利用!"#
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
实现数据库与客户端脚本间的数据传递
……
!〉
〈"#$%&'(〉
〈)$%&'(+,-+-/0”1+2+)$%&'(”〉
〈!33
##04/##+-/#〔5〕
33〉
〈"#$%&'(〉
其中,4/##+-/#为客户端脚本中已经定义了的数组,在6)7中作为常量赋给#(%变量,此处4/##+-/#〔5〕中的
内容是一个带有传递参数的超文本链接,传递的参数是后台数据库中&8和(&(/字段的内容9此后采用
6)7内置对象%/#':,#/的方法;%&(/将含有客户端数组的变量#(%输出,在1+2+)$%&'(代码中就可以引用数组
4/##+-/#的内容,这样就解决了应用隐藏域传递数据量少且固定的局限性9
<开发实例
网页上信息滚动的实现有两种方法:一是在客户端脚本程序(1+2+)$%&'(或者=>)$%&'()中预定义数组,
并预设数组的内容,当用户浏览网页时,循环显示这些预设内容9二是预设一个文本文件,每次更新信息,
实际上就是对此文本文件进行修改,然后用客户端脚本程序打开、读出,并存储到该文本文件的一个数组
中,最后利用客户端脚本语言实现信息的滚动显示9这两种方法都没能实现客户端与后台数据库的实时
交互,笔者采用6)7内置对象/#':,#/传递数据的方法来实现滚动信息的实时更新,具体实现过程如下:
(@)数据库的设计9为了维护及实时更新滚动信息,需要建立后台数据库以管理数据;数据库中字段
包括:,4,(&(/,$:,(/,(,8+(/(&4/等;信息维护人员需要维护和管理这些内容,以保证滚动信息的实时性9
(A)利用6)7实现后台数据库与客户端脚本间的数据传递9采用6BC方式,在6)7中建立6BC对象,
并利用D:,,/$(&:,,/$:%8#/(对象的方法实现对数据库数据的访问9代码片段如下:
〈)$%&'(+,-+-/0“=>)$%&'(”%,+(0“#/%2/%”〉
〈!
)/($:,,0D%/+(/CEF/$((“6BCB>9D:,,/$(&:,”)
$:,,9:'/,“B)GG+4/”,“#/%,+4/”,“'+##;:%8”
#H0……
)/(%#0$:,,9/I/$(/(“#H”)
……
!〉
〈"#$%&'(〉
(<)滚动信息的实现9滚动信息是应用层之间的遮罩和应用“J&4/&,/”时间线设置文字层的移动来实
现的91+2+)$%&'(中层的概念及用法比较清晰明了,本实例用1+2+)$%&'(作为客户端脚本语言9信息滚动的
关键是设置层的高度、宽度、停留时间,及调整相对高度、宽度,并利用层输出信息的标题内容9输出内容
的代码很简单,只需用:(+K/%98:$4/,(9;%&(/(4/##+-/#〔5〕)即可9
参考文献:
〔@〕陈万平,马秀峰,宁洪涛9用6)7技术访问数据库〔1〕9曲阜师范大学学报,ALL@,AM(@):NAONP9
〔A〕刘渝妍9利用6)7和6BC技术访问数据库〔1〕9计算技术与自动化,ALL@,AL(@):<NOP@9
〔<〕李劲9精通6)7数据库程序设计〔Q〕9北京:科学出版社,ALL@9@PAO@PM9
〓PR〓
大庆石油学院学报第AR卷ALLA
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/13460315.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-11
下一篇 2023-08-11

发表评论

登录后才能评论

评论列表(0条)

保存