首  页
站长信箱
868搜索
网站登录
免费计数器
免费留言本
IP来源查询
网站技术教程
网站流量统计
文章探索:   分类:    关键字:  
    什么?你还在找兼职?上兼客吧,现在兼客吧平台太火了,知名度和诚信度也很高,注册就送0.5元现金,满3元就能提现,马上到账了!最低3元就能提现,大家可以注册下试试!注册地址:http://www.jiankeba.com/computeryc1688
  + 栏目导航
  + 相关文章
用ASP生成XML数据文档(RSS订阅..
asp添加xml节点问题
Asp.net+Xml实现无数据库论坛(..
Asp.net+Xml实现无数据库论坛(..
Asp.net+Xml实现无数据库论坛(..
js添加、修改、删除xml节点例子
ASP.NET查找XML节点的几个方法
使用ASP添加xml节点功能
使用asp修改xml中的节点
ASP历遍XML节点与字节点之简单..
ASP向xml文件中的添加节点
ASP遍历XML节点
asp修改xml节点属性
小白ajax定时更新xml数据练习
Ajax核心:XMLHTTP组件相关技术..
远程获取内容,并将内容存在本..
xmlhttp组件获取远程文件并筛选..
XMLHTTP对象及其方法
把HTML表单提交的数据转化成XML..
利用XMLHTTP无刷新添加数据之Po..
Js+Xml:不刷新页面获取对应网址..
xml(元标记语言)学习基础一
Java语言编程中更新XML文档的常..
简析JAVA中的XML编程
XML及其技术指南
XML教程(2)--XML元素与XML属性..
XML教程(1)--严格的语法
从XML到Java代码的数据绑定之一
神奇的XML--突破CGI权限的约束
基于XML的数据库总体分析

技术教程 -> XML教程 ->  
Ajax核心:XMLHTTP组件相关技术资料
来源:转载   人气:3671   录入时间:2006/7/2


     一、数据库远程管理技术
   
   基于互联网的广域网现代应用中的一个重要环节是数据库远程监控。首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式:
   
   早期通过编写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:服务端表名
   
   然后提交指令,等待并接收返回的处理结果。结果以字符串方式返回。最后由函数调用者处理并显示结果。
   



| 网站转让 | 站长信箱 | 网站登录 | 技术教程 | 免费计数器 | 免费留言本 | 868流量统计 | 好帮手网站营销 |
地址:广东省阳江市  联系电话:13725641179 杨先生
Copyright 2004-2019 868资源网- 版权所有    粤ICP备05007330号