- 浏览: 685963 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (254)
- java分布式应用架构 (22)
- SSH框架整合 (6)
- java web 学习笔记 (49)
- java 学习笔记 (56)
- struts 2 学习 (6)
- Hibernate学习 (10)
- spring 学习 (2)
- 客户端编程(javascript) (4)
- IDE使用 (13)
- 生命 人生 (6)
- 系统维护 (3)
- 技术篇 (10)
- MySql (2)
- J2ME (1)
- java网络编程 (4)
- 数据库 (5)
- C/C++ (8)
- Oracle (7)
- 软件测试 (0)
- 软件的安装和部署 (0)
- Java快讯 (1)
- swt (1)
- Flex (1)
- 软件工程 (1)
- PostgreSQL (1)
- sql server2000 (2)
- 嵌入式数据库sqlite (5)
- J2EE (1)
- XML (1)
- ibatis3(MyBatis) (6)
- Linux&Unix (1)
- velocity (1)
- 回报社会 (4)
- 软件项目管理 (3)
- android研究 (3)
- C# (2)
- Objective-C (1)
- 音乐 (0)
- webx (1)
- JMS (1)
- maven软件项目管理 (1)
- 分布式服务 (0)
- 云平台 (0)
- 分布式存储 (1)
- 分布式系统架构 (0)
- 移动互联网 (1)
- ZooKeeper (1)
最新评论
-
liyys:
楼主,可不可以发这个项目的源码工程出来分享一下,少了几个类。楼 ...
仿照Hibernate实现一个SQLite的ORM框架 -
liyys:
少了一些类的源码没有粘贴出来
仿照Hibernate实现一个SQLite的ORM框架 -
honglei0412:
我使用的是这种方式获取db文件的目录但是 URL p = Fi ...
使用sqlite注意事项 -
honglei0412:
大侠 能不能说明下DbFile您是怎么做的吗?
使用sqlite注意事项 -
ahack:
刚写完mapping才发现早就有人写好了。仔细一看还都是针对的 ...
仿照Hibernate实现一个SQLite的ORM框架
客户端程序编写免不了经常接触XMLHttpRequest对象。
微软的XHR实现的progid又是一串一串的。 烦人。抽一个中午时间,找了找资料,整理记录如下:
"Microsoft.XMLHTTP"
最早的XHR实现。微软官网上说这是MSXML 2.x系列版本的progid。
2.x 系列progid是不带版本号的。看起来简单清楚。
引用:
MSXML 2.6 was shipped with SQL Server 2000 and MDAC 2.6 and is provided in Windows or other service pack updates provided by Microsoft.
MSXML 2.6 installs in replace mode only.
"MSXML2.XMLHTTP"
MSXML 3.0 的progid,
"MSXML2.XMLHTTP.3.0"
也是MSXML 3.0 的,应该等价于MSXML2.XMLHTTP;这时,可能是感觉到那种不带版本号的progid,在升级后造成的兼容性问题,以后的更新版本的progid都可以带上版本好吗。
引用:
MSXML 3.0 is provided as a required component with a number of Microsoft products, such as Microsoft Visual Studio and Microsoft Office. It is also a system component for current versions of Microsoft Windows.
MSXML 3.0 SP2 or later installs in replace mode only. (Note: you do not need to run xmlinst.exe utility when updating to this version of MSXML 3.0)
"Msxml2.XMLHTTP.4.0"
此后的版本,都带上了版本号码,可能是为了应对程序员懒散的习惯(不喜欢带那个版本号),不提供以前那种无版本后缀的progid了。
引用:
MSXML 4.0 is a separate download that was released by Microsoft in October 2001. The latest or current service pack release of MSXML 4.0 is available through the Microsoft Web site. MSXML 4.0 must be installed separately and is not currently included with other Microsoft products.
MSXML 4.0 installs side-by-side with earlier versions of MSXML without affecting any existing functionality.
“Msxml2.XMLHTTP.5.0"
引用:
MSXML 5.0 for Microsoft Office Applications is only available with current versions of Microsoft Office.
MSXML 5.0 for Microsoft Office Applications installs side-by-side with earlier versions of MSXML without affecting any existing functionality.
"Msxml2.XMLHTTP.6.0"
引用:
MSXML 6.0 is a separate download that was released by Microsoft in November 2005. The latest or current service pack release of MSXML 6.0 is available through the Microsoft Web site. MSXML 6.0 must be installed separately. It is included with SQL Server 2005.
MSXML 6.0 installs side-by-side with earlier versions of MSXML without affecting any existing functionality.
这么多的实现,哪我们如何探测呢?一般来说,我们应该尽量采用更新的更常用的版本。
我的选择是(摘自JSI内核源码)::
js 代码
if(this.ActiveXObject && !this.XMLHttpRequest ){
var xmlHttpRequstActiveIds = [
"Microsoft.XMLHTTP"//IE5的,最早的XHR实现
,"MSXML2.XMLHTTP"
//,"MSXML2.XMLHTTP.3.0"//应该等价于MSXML2.XMLHTTP
//,"Msxml2.XMLHTTP.4.0"
,"Msxml2.XMLHTTP.5.0"
//,"Msxml2.XMLHTTP.6.0"
];
var xmlHttpRequstActiveId
this.XMLHttpRequest = function(){
if(xmlHttpRequstActiveId){
return new ActiveXObject(xmlHttpRequstActiveId);
}else{
var i=xmlHttpRequstActiveIds.length;
while(i --){
try{
var impl = new ActiveXObject(xmlHttpRequstActiveId = xmlHttpRequstActiveIds[i]);
xmlHttpRequstActiveIds = null;
return impl;
}catch (e){}
}
}
};
}
var xmlrequest;
function createXMLHttpRequest()
{
//对于Firefox和Opera等浏览器
if (window.XMLHttpRequest) {
xmlrequest = new XMLHttpRequest();
}
else //对于IE浏览器
{
//将IE的不同XMLHttp实现声明数组
var MSXML=['Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
//依次对每个XMLHTTP实现创建XMLHttpRequest对象
for(var i=0;i<MSXML.length;i++)
{
try
{
xmlrequest=new ActiveXObject(MSXML[i]);
break;
}
catch (ex) {
}
}
}
}
微软的XHR实现的progid又是一串一串的。 烦人。抽一个中午时间,找了找资料,整理记录如下:
"Microsoft.XMLHTTP"
最早的XHR实现。微软官网上说这是MSXML 2.x系列版本的progid。
2.x 系列progid是不带版本号的。看起来简单清楚。
引用:
MSXML 2.6 was shipped with SQL Server 2000 and MDAC 2.6 and is provided in Windows or other service pack updates provided by Microsoft.
MSXML 2.6 installs in replace mode only.
"MSXML2.XMLHTTP"
MSXML 3.0 的progid,
"MSXML2.XMLHTTP.3.0"
也是MSXML 3.0 的,应该等价于MSXML2.XMLHTTP;这时,可能是感觉到那种不带版本号的progid,在升级后造成的兼容性问题,以后的更新版本的progid都可以带上版本好吗。
引用:
MSXML 3.0 is provided as a required component with a number of Microsoft products, such as Microsoft Visual Studio and Microsoft Office. It is also a system component for current versions of Microsoft Windows.
MSXML 3.0 SP2 or later installs in replace mode only. (Note: you do not need to run xmlinst.exe utility when updating to this version of MSXML 3.0)
"Msxml2.XMLHTTP.4.0"
此后的版本,都带上了版本号码,可能是为了应对程序员懒散的习惯(不喜欢带那个版本号),不提供以前那种无版本后缀的progid了。
引用:
MSXML 4.0 is a separate download that was released by Microsoft in October 2001. The latest or current service pack release of MSXML 4.0 is available through the Microsoft Web site. MSXML 4.0 must be installed separately and is not currently included with other Microsoft products.
MSXML 4.0 installs side-by-side with earlier versions of MSXML without affecting any existing functionality.
“Msxml2.XMLHTTP.5.0"
引用:
MSXML 5.0 for Microsoft Office Applications is only available with current versions of Microsoft Office.
MSXML 5.0 for Microsoft Office Applications installs side-by-side with earlier versions of MSXML without affecting any existing functionality.
"Msxml2.XMLHTTP.6.0"
引用:
MSXML 6.0 is a separate download that was released by Microsoft in November 2005. The latest or current service pack release of MSXML 6.0 is available through the Microsoft Web site. MSXML 6.0 must be installed separately. It is included with SQL Server 2005.
MSXML 6.0 installs side-by-side with earlier versions of MSXML without affecting any existing functionality.
这么多的实现,哪我们如何探测呢?一般来说,我们应该尽量采用更新的更常用的版本。
我的选择是(摘自JSI内核源码)::
js 代码
if(this.ActiveXObject && !this.XMLHttpRequest ){
var xmlHttpRequstActiveIds = [
"Microsoft.XMLHTTP"//IE5的,最早的XHR实现
,"MSXML2.XMLHTTP"
//,"MSXML2.XMLHTTP.3.0"//应该等价于MSXML2.XMLHTTP
//,"Msxml2.XMLHTTP.4.0"
,"Msxml2.XMLHTTP.5.0"
//,"Msxml2.XMLHTTP.6.0"
];
var xmlHttpRequstActiveId
this.XMLHttpRequest = function(){
if(xmlHttpRequstActiveId){
return new ActiveXObject(xmlHttpRequstActiveId);
}else{
var i=xmlHttpRequstActiveIds.length;
while(i --){
try{
var impl = new ActiveXObject(xmlHttpRequstActiveId = xmlHttpRequstActiveIds[i]);
xmlHttpRequstActiveIds = null;
return impl;
}catch (e){}
}
}
};
}
var xmlrequest;
function createXMLHttpRequest()
{
//对于Firefox和Opera等浏览器
if (window.XMLHttpRequest) {
xmlrequest = new XMLHttpRequest();
}
else //对于IE浏览器
{
//将IE的不同XMLHttp实现声明数组
var MSXML=['Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
//依次对每个XMLHTTP实现创建XMLHttpRequest对象
for(var i=0;i<MSXML.length;i++)
{
try
{
xmlrequest=new ActiveXObject(MSXML[i]);
break;
}
catch (ex) {
}
}
}
}
发表评论
-
Spring MVC集成velocity扩展
2013-07-23 17:18 32581、扩展velocity的视图 [code=" ... -
Java获取客户端信息
2011-09-07 14:48 1652String agent = request.getHeade ... -
获取IP地址
2011-09-07 13:41 2426public String getIpAddrByReques ... -
netty telnet 应用实例server代码
2011-09-07 12:21 1888public class TelnetServer { ... -
Netty中使用Apache Common FileUpload
2011-09-07 12:19 1280/** * 用Netty来实现上传 */ publi ... -
java管理windows进程
2011-08-29 17:34 1782package org.zzuli.xmsb; /** ... -
java反射工具
2011-08-29 17:30 5447package org.liufei.jweb.reflect ... -
java html工具
2011-08-29 17:26 1088package org.liufei.jweb.util; ... -
java将汉字转化为全拼
2011-08-29 17:24 1236package org.liufei.jweb.util; ... -
JSTL API
2011-08-29 15:13 1787JSTL API -
jdbc操作大观园
2011-08-09 17:22 1385最近公司使用jdbc和mybatis比较多,于是自己试着写了一 ... -
Java处理UTF-8带BOM的文本的读写
2011-08-01 11:28 3019什么是BOM BOM(byte-order mark),即字 ... -
Session和Cookie的区别
2011-06-27 16:34 8781、session保存在服务器,客户端不知道其中的信息;coo ... -
ajax应用时html响应生成工具
2011-05-02 19:00 1136package org.zzuli.xmsb.util; ... -
setTimeout和setInterval的使用
2011-05-01 16:00 1007这两个方法都可以用来 ... -
javasript 经典技巧
2011-03-04 21:30 14611. oncontextmenu="window.e ... -
javascript窗口
2011-03-04 16:31 1038【1、最基本的弹出窗口 ... -
get and post
2011-01-07 17:22 10001. get 是从服务器上获取数据,post 是向服务器传送数 ... -
web开发人员必学的五堂课
2010-12-20 14:42 990越来越多的Web开发人员 ... -
spring整合MyBatis
2010-11-21 15:08 10562MyBatis Spring 1.0.0-RC2 参考文档 M ...
相关推荐
《Msxml2.XMLHTTP 中文参考手册.chm》 《Msxml2.ServerXMLHTTP 中文参考手册.chm》 Msxml2.ServerXMLHTTP 对象 Member 成员 以下表格显示了ServerXMLHTTP对象的属性、方法、事件。 Properties 属性 responseBody ...
此问题可能由多种原因引起,其中最常见的一个原因是服务器上缺少或者损坏了MSXML2.DLL文件,这是XMLHTTP对象所依赖的动态链接库。其他可能的原因包括权限问题、注册表错误或IIS(Internet Information Services)...
利用MSXML2.XmlHttp和Adodb.Stream 代码如下:<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”...
客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用...
- 设置请求头,比如Content-Type为multipart/form-data,表示上传文件:`xmlHttp.setRequestHeader("Content-Type", "multipart/form-data")` - 将文件内容转换为二进制流,写入请求体:`xmlHttp.Send(fileData)` - ...
- 下载并安装 MSXML4.0 Service Pack 2 的修复补丁(例如:KB832414_MSXML4.0_x86.exe)。 - 安装完成后重启计算机。 4. **清理 DNS 缓存**: - 在命令提示符中输入 `ipconfig /flushdns` 并按回车键。 - 这将...
2. **注册表调整**:可以通过修改注册表键值来强制WinHTTP使用TLS 1.2。打开注册表编辑器(regedit),导航到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols`,在该...
这行代码在JavaScript中创建了一个XMLHTTP对象,你可以指定不同的MSXML版本号,例如MSXML2.XMLHTTP.3.0或MSXML2.XMLHTTP.6.0。 二、XMLHTTP的方法 1. `Open()`方法:用于初始化HTTP请求。参数包括请求类型(如GET或...
Dim xmlHttp As New MSXML2.XMLHTTP Dim url As String url = "http://example.com" ' 输入你要获取源码的网址 With xmlHttp .Open "GET", url, False .send If .Status = 200 Then ' 如果请求成功,状态码为...
2. **设置HTTP请求头**:使用XMLHTTP对象,我们需要设置适当的请求头,如`Range`,指定从哪个字节开始下载。例如,如果已下载了前1MB,`Range`头应设置为`bytes=1048576-`。 3. **发起请求**:使用XMLHTTP对象的`...
Set xhr = CreateObject("MSXML2.XMLHTTP") xhr.Open "GET", "http://example.com", True ' True 表示异步请求 xhr.onreadystatechange = AddressOf HandleResponse xhr.Send End Sub Private Sub ...
以下将详细介绍如何在ASP中使用MSXML2.ServerXMLHTTP来实现异步请求,并分析常见的错误及解决办法。 首先,我们需要创建MSXML2.ServerXMLHTTP对象。在ASP中,这可以通过`Server.CreateObject`方法完成: ```...
用XMLHTTP Post Form时的表单乱码有两方面的原因——Post表单数据时中文乱码;服务器Response被XMLHTTP不正确编码引起的乱码。... var oReq = new ActiveXObject(“MSXML2.XMLHTTP”); oReq.open(“POST”,”h
"Msxml2.ServerXMLHTTP.3.0", "Msxml2.ServerXMLHTTP", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", _ "Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP") For i = 0 To UBound(oxml) Set ...
2. `Send`方法:发送请求数据,如果是POST请求,可以传递POST数据。 3. `OnReadyStateChange`事件:当XMLHTTP对象的ReadyState属性发生变化时触发,通常在这里检查状态是否完成(ReadyState = 4),以及请求是否成功...
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2....
首先定义了一个指向`IXMLHTTPRequest`接口的智能指针`xmlrequest`,然后使用`CreateInstance`方法创建一个`Msxml2.XMLHTTP`对象实例。 5. **设置请求参数并发送请求**: ```cpp xmlrequest->open(_bstr_t("GET")...
var aVersions=["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"]; for(var i=0;i<aVersions.length;i++) { try { var oXmlHttp=new ActiveXObject...