XMLHTTP组件相关技术应用资料

xml

    一、数据库远程管理技术
  基于互联网的广域网现代应用中的一个重要环节是数据库远程监控。首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式:

  早期通过编写CGI-BIN程序模块进行数据库远程管理。但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用。

  这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好。但如果使用的是第三方服务器(笔者的网站就是建立在第三方的虚拟主机上),服务器方往往因为保密或其它商业原因不允许用户注册自己的组件。

  近年来由微软公司推出的.NET平台和SUN公司的J2EE平台都是非常高档的数据库远程管理与服务平台。都能提供优质的多层(n-Tier)应用服务。 其中,.NET的简单对象访问协议(Simple Object Access Protocol, SOAP)使用超文本传输协议(Hypertext Transfer Protocol, HTTP)和扩展标记语言(Extensible Markup Language, XML)技术实现跨系统(例如Windows - Linux)的通讯服务方式已经广为开发商接受和使用。许多大型应用,例如企业资源计划(Enterprise resource planning, ERP)等都建立在这样的大型平台之上。 但对于中小型应用,比如一个网站的建设和维护,这种大型应用平台就显得有些尾大不掉,开销也过于庞大。

  曾经在互联网技术和Java技术方面一度落后的微软公司在XML应用开发则走在了前头。她的XML解析器(MSXML)中的XMLHTTP协议是一个非常方便实用的客户/服务通讯管道。综合运用XMLHTTP以及ActiveX数据对象(ActiveX Data Objects, ADO/ADOX)可以简单方便地实现数据库远程管理。

  二、数据库远程管理体系

  数据库远程管理的任务流程是:

  1、客户端向服务端发出数据库结构和数据的查询或修改指令。

  2、服务端接受并执行有关指令并向客户端返回结果。

  3、客户端接受并显示服务端返回的指令执行结果。

  实现数据库远程管理的二个主要关键环节是:

  1、客户端与服务端之间的指令上传和结果下传的数据通道,由XMLHTTP协议实现。

  2、服务端前沿与数据库之间的指令传送和结果返回,由起着中间层作用的ADO/ADOX接口完成。

三、XMLHTTP的使用

顾名思义,XMLHTTP是个传送XML格式数据的超文本传输协议。 实际上,XMLHTTP的数据传输过程更为灵活一些:

它上传的指令可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。还可以是URL的参数。

它下达的结果可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。 详情可参阅文末链接。 客户端调用XMLHTTP的过程很简单,只有5个步骤:

1、创建XMLHTTP对象

2、打开与服务端的连接,同时定义指令发送方式,服务网页(URL)和请求权限等。

客户端通过Open命令打开与服务端的服务网页的连接。与普通HTTP指令传送一样,可以用"GET"方法或"POST"方法指向服务端的服务网页。

3、发送指令。

4、等待并接收服务端返回的处理结果。

5、释放XMLHTTP对象

XMLHTTP方法

Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword

bstrMethod:数据传送方式,即GET或POST。

bstrUrl:服务网页的URL。

varAsync:是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。应用中一般将其置为False,即异步执行。

bstrUser:用户名,可省略。

bstrPassword:用户口令,可省略。

Send varBody

varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。

setRequestHeader bstrHeader, bstrValue

bstrHeader:HTTP 头(header)

bstrValue:HTTP 头(header)的值

如果Open方法定义为POST,可以定义表单方式上传xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

  XMLHTTP属性

onreadystatechange:在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。

responseBody:结果返回为无符号整数数组。

responseStream:结果返回为IStream流。

responseText :结果返回为字符串。

responseXML:结果返回为XML格式数据。

下面是本文附件源程序中的一个应用示例:

Function GetResult(urlStr)

Dim xmlHttp

Dim retStr

Set xmlHttp = CreateObject("Msxml2.XMLHTTP") '创建对象

On Error Resume Next '出错处理

xmlHttp.Open "POST", urlStr, False '用POST方式打开连接,异步执行。

xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" '上传表单

xmlHttp.Send '发送指令

If Err.Number = 0 Then '如果连接正确

retStr = xmlHttp.responseText '等待并获得服务端返回的结果字符串

Else

retStr = "Url not found" '否则返回出错信息

End If

Set xmlHttp = nothing '释放对象

GetResult = retStr '返回结果

End Function

GetResult()函数带入一个服务网页的URL参数,把上传的指令安放在URL后面的参数上,如:

urlStr = "server.asp?cmd=" & cmd & "&db=" & db & "table=" & table

cmd:执行方式,例如查询,修改,删除等等。

db:服务端数据库名

table:服务端表名

然后提交指令,等待并接收返回的处理结果。结果以字符串方式返回。最后由函数调用者处理并显示结果。

时间: 2024-11-03 17:36:03

XMLHTTP组件相关技术应用资料的相关文章

Ajax核心:XMLHTTP组件相关技术资料

ajax|xml 一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理.但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用. 这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好.但如果使用的是第三方服务器(笔者的网站就是建立在第三方的虚拟主机上),服务器方往往因为保密或其它商业原因不允

XMLHTTP组件相关技术资料

xml 一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理.但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用. 这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好.但如果使用的是第三方服务器(笔者的网站就是建立在第三方的虚拟主机上),服务器方往往因为保密或其它商业原因不允许用户注册

HTML5树组件延迟加载技术实现

HT for Web的HTML5树组件有延迟加载的功能,这个功能对于那些需要从服务器读取具有层级依赖关系数据时非常有用,需要获取数据的时候再向服务器发起请求,这样可减轻服务器压力,同时也减少了浏览器的等待时间,让页面的加载更加流畅,增强用户体验. 进入正题,今天用来做演示的Demo是,客户端请求服务器读取系统文件目录结构,通过HT for Web的HTML5树组件显示系统文件目录结构. 首先,我们先来设计下服务器,这次Demo的服务器采用Node.js,用到了Node.js的express.so

xmlhttp组件获取远程文件并筛选出目标数据

xml|数据 getfile.asp<%''利用xmlhttp组件获取远程文件保存到当前空间''此是网站建设中的一个实例,远程获取一个网页内容并筛选出相关的天气数据,当然可以跳过文件本地存储再获取数据''参考了xoyu的函数,在此感谢fileurl="http://www.hbqx.gov.cn/other/tqyb/inc_city_hb.asp"dotloc=InStrRev(fileurl,".")filepath="thistest"

WEB打印的相关技术分析

web|web打印 WEB打印的相关技术分析 现有的Web打印控制技术分成几种方案 自定义控件完成打印 利用IE自带的WebBrowser控件实现打印 利用第三方控件实现打印 以下主要谈前两个方面的内容 一. 自定义控件方式 自定义控件方式就是利用VB或VC等工具生成COM组件,用定义好的打印格式来分析打印源文件从而实现打印.只有将生成的组件下载并注册到客户机上,才能实现在客户端的打印. 难点主要是定义打印格式.如何来分析打印源文件.现有的比较好的方法是利用XML技术来全面的解决问题,利用XML

测试空间是否支持XMLHTTP组件

XMLHTTP组件的应用范围很广,也很实用,例如获取网页源代码等等,所以,如果您需要用到XMLHTTP服务,那么必须在购买空间前确认服务器是否支持该组件. 测试方法 把代码保存为asp文件,上传到空间,直接访问,即可检测. <% On Error Resume Next Response.Write "<h3>服务XmlHttp组件支持情况:</h3>" oxml=array("Msxml2.ServerXMLHTTP.6.0",&qu

轻松入门Android直播相关技术 从0搭建直播系统

本文讲的是轻松入门Android直播相关技术 从0搭建直播系统,我立马实践了下,所以首先给大家分享下整个搭建的流程: 本人的操作系统为mac,其他系统的同学可以根据提示,自行安装软件. 一个简易的直播系统,大致可以由三部分组成: 搭建一个rtmp媒体服务器 推流端 拉流端 现在目标是快速搭建起来,所以当然是借助开源项目和一些软件: rtmp媒体服务器:这里使用srs 推流端:这里使用obs 拉流端:这里使用播放器vlc rtmp媒体服务器的搭建 这里使用srs,srs的链接为: https://

HTML的语法学习,有没有相关的学习资料

问题描述 HTML的语法学习,有没有相关的学习资料 ?我看w3school和一些百度搜索的关于HTML语法的问题,可答案都不是我想问的. 我的关于语法的疑问是,当给一个元素加粗,加颜色,加链接,加图片等等各种属性的时候,标签的排列是一股脑的全加上去吗?可我看有些代码会分行写,或者用div,或者前面用css设置,表达方式很多,这时候作为新手看起来就会很困扰.这相关这方面的学习资料吗? 解决方案 在html中使用属性来控制显示,这是遗留的过时的写法.特别是诸如font之类的标签,更是应该被废弃 ht

C#身份证识别相关技术

原文:C#身份证识别相关技术 最近研究C#相关的OCR技术,图像识别一般C和C++这种底层语言做的比较多,C#主要是依托一些封装好的组件进行调用,这里介绍三种身份证识别的方法. 一:调用大公司API接口,百度.云脉,文通科技都有相关的API介绍. 二:调用图像处理类库,EmguCV是OpenCV的一个跨平台的.Net封装,该封装也可以被编译到Mono平台和允许在Windows.Mac OS.Android.iPhone.iPad等多个平台上运行 三:调用Office2007 组件 一.证件识别A