<HTML>
<HEAD>
<TITLE>sample</TITLE>
<SCRIPT language = "javascript">
function init()
{
var basicinfo = new ActiveXObject("Msxml2.DOMDocument.4.0");
var employment = new ActiveXObject("Msxml2.DOMDocument.4.0");
var paycatagory = new ActiveXObject("Msxml2.DOMDocument.4.0");
var attendence = new ActiveXObject("Msxml2.DOMDocument.4.0");
var mainpage = new ActiveXObject("Msxml2.DOMDocument.4.0");
mainpage.async=false;
mainpage.validateOnParse=true;
basicinfo.async=false;
basicinfo.validateOnParse=true;
employment.async=false;
employment.validateOnParse=true;
paycatagory.async=false;
paycatagory.validateOnParse=true;
attendence.async=false;
attendence.validateOnParse=true;
// You can substitute other XML file names here.
try
{
mainpage.load("hello.xml");
errorValid(mainpage);
basicinfo.load("emp_M_Basicinfo.xml");
errorValid(basicinfo);
employment.load("emp_M_EmploymentInfo.xml");
errorValid(employment);
attendence.load("attendence.xml");
errorValid(attendence);
paycatagory.load("pay_M_CatagoryItem.xml");
errorValid(paycatagory);
}catch(e)
{
alert("error:");
}
//Display basicinfo nodeset
// alert(basicinfo.documentElement.childNodes.item(0).xml);
var xslt = new ActiveXObject("Msxml2.XSLTemplate.4.0");
var xsltTree= new ActiveXObject("Msxml2.FreeThreadedDOMDocument.4.0");
xsltTree.async = false;
// You can substitute other XSLT file names here.
xsltTree.load("hello.xslt");
xslt.stylesheet = xsltTree
xslProc = xslt.createProcessor();
xslProc.input = mainpage
try
{
xslProc.addParameter("basicinfo",basicinfo.documentElement);//.selectNodes("/Results")
xslProc.addParameter("employment",employment.documentElement);
xslProc.addParameter("paycatagory",paycatagory.documentElement);
xslProc.addParameter("attendence",attendence.documentElement);
xslProc.addParameter("yourname","William Wang");
}catch(e)
{
alert(e);
}
xslProc.transform();
resTree.innerHTML = xslProc.output;
// Save the result of the XSL transformation
//htmlCode = xslProc.output
//fso=new ActiveXObject("Scripting.FileSystemObject")
//htmlFile=fso.CreateTextFile("sample.html",true)
//htmlFile.WriteLine(htmlCode)
//htmlFile.Close()
}
function errorValid(errorObject)
{
if (errorObject.parseError.errorCode != 0)
{
var strErrMsg = "Problem Parsing Style Sheet:\n"
+ " Error #: " + errorObject.parseError.errorCode + "\n"
+ " Description: " + errorObject.parseError.reason + "\n"
+ " In file: " + errorObject.parseError.url + "\n"
+ " Line #: " + errorObject.parseError.line + "\n"
+ " Character # in line: " + errorObject.parseError.linepos + "\n"
+ " Character # in file: " + errorObject.parseError.filepos + "\n"
+ " Source line: " + errorObject.parseError.srcText;
alert(strErrMsg);
}
}
</SCRIPT>
</HEAD>
<BODY onload = "init()" >
<div id="resTree"></div>
</BODY>
</HTML>
星期五, 十月 08, 2004
IE 6.0和FireFox 1.0 Pr 关于XMLHttpRequestS 对象引用的差异
XMLHttpRequest一个有价值的用途,就是在后台反复使用XMLHttpRequest的对象引用来从服务器获取数据.叫做round-trip模式.
但是IE6不能保存XMLHttpRequest的引用在变量中,这是需要注意的.
如果需要多次使用,必须每次都生成XMLHttpRequest的对象引用.如下代码.
sniffer代码:
var http;
if (window.XMLHttpRequest) //FireFox系列
{
http = new XMLHttpRequest();
http.onload =processReqChange;//注意:是onload事件
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
}else if (window.ActiveXObject)//IE
{
http = new ActiveXObject("Msxml2.XMLHTTP");
http.onreadystatechange = processReqChange;//注意:是onreadystatechange事件.
}
但是IE6不能保存XMLHttpRequest的引用在变量中,这是需要注意的.
如果需要多次使用,必须每次都生成XMLHttpRequest的对象引用.如下代码.
sniffer代码:
var http;
if (window.XMLHttpRequest) //FireFox系列
{
http = new XMLHttpRequest();
http.onload =processReqChange;//注意:是onload事件
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
}else if (window.ActiveXObject)//IE
{
http = new ActiveXObject("Msxml2.XMLHTTP");
http.onreadystatechange = processReqChange;//注意:是onreadystatechange事件.
}
星期三, 十月 06, 2004
Sun终于决定开始整合EJB和JDO有关Persistence layer的表示逻辑了。
原文:Sun对Java社区的公开信
JDO专家组的两个专家将参加EJB 3。0的规范制定.并决定制定单一的POJO persistence Model.
如此一来,EJB和JDO起码在描述Persistence Model和操作技术粒度上保持了一致性.
很好。很大的一步.
JDO专家组的两个专家将参加EJB 3。0的规范制定.并决定制定单一的POJO persistence Model.
如此一来,EJB和JDO起码在描述Persistence Model和操作技术粒度上保持了一致性.
很好。很大的一步.
星期五, 十月 01, 2004
如何让FireFox 右下角显示出来RSS的提示?
需要在网站也面里加入以下这行话:
<link rel="alternate" type="application/xml" title="RSS" href="http://www.journalspace.com/xml/wang.xml"><title>Technology and Humanist</title>
如何就可以了。
<link rel="alternate" type="application/xml" title="RSS" href="http://www.journalspace.com/xml/wang.xml"><title>Technology and Humanist</title>
如何就可以了。
Java的未来:从老虎(Tiger)向野马(Mustang)和海豚(Dolphin)进发
“Tiger one of the most ambitious Java revisions to date”---TTS
Java的未来:从老虎(Tiger)向野马(Mustang)和海豚(Dolphin)进发
英语原文
Posted By: Dion Almaer on September 30, 2004 @ 10:01 AM
目前”老虎”已经发布了,人们很想知道Java的未来计划.Sun公司的Mark Reinhode说明了Java发布模式的改变.将不会有任何维护级别的版本发布.升级的发行版本将按照大约每2-3个月频率发布.
这样可以在发布的版本里同时包含修改的内容.
新的发行计划周期
呼!我可以听到Sun公司内部和外部为了这个令人惊异的产品发出的如释重负的呼出声.
我们希望你能对这个产品有良好的感受.正如我以前所说的,我认为Tiger是自JDK 1.1以来,我们所构造的JDK里质量最高的.
这里似乎应该是向前展望的时候了,并且对我们对J2SE的发布模式修改的一些细节说明.
目前有三种类型的版本发行模式
特征发行版本用大的数目来表示(1.3,1.4,1.5 5.0),包含了成千的错误修正和众多的新特征.
这一般需要间隔24-36个月.
维护发行版本,也叫做”点-点” 发行(1.4.1,1.4.2等等),包含了许多错误修订,但是没有的性API的特征.
这些需要8-10月的间隔.
升级发行版本,也叫做”下画线” 发行(1.4.2_01,1.5.0_01 5.0 update 1),这包含了非常少量的错误修正(一般大约100左右),重要是非常仔细的从客户所遇到的比较紧急的错误.Sun 每3-4个月发布一个版本.向前来讲,我们打算简化我们发行版本的增加的速率.
尤其是:
特征发行版本将每18-24月发布.这是为了平台适合开发人员社团更加快速的演进及同.NET的竞争需要.
将不会有更多的维护版本发布.从Tiger(5.0)开始,将不会有如同1.4.1和1.4.2那里包含1500-2000错误修正的版本.如果这样,将会发布一个5.1版本,但同样包含特别特征的升级发行.
升级发行版本每2-3个月发布一次.这样将尽可能重大错误及时休正发布给用户.
改变一个发行模型对我们而言不是一件轻松的.这是数月来同我们的合作伙伴会谈及社团开发人员会谈的结果.两外两个从这些改变获得好处是:
发布将更加准时.在J2SE工程师组织内部,长期以来我们总是在困难的选择之间角斗:使当前维护发布尽可能的完美对在下一个大的新的特征上工作.这种冲突造成了很多计划超出了时间.新的发布模型解决了这种紧张:J2SE工程师一般情况下总是在为下一个特征发行版本上工作.当他们要求休正错误的时候将在一个升级发行版本中.甚至是更加珍贵的非凡工作(比如性能的提高),都将在一个升级发行版本中完成,当然可能会有异常情况超出这个规则.
发行版本的采用将会提高.已存在的中等规模的版本发行有较大的采用瘴碍.在这种程度的改变许多用户有足够的信心在他们已经限定的所有程序中采用.换句话说,对待他们更像在测试术语中的特征发行.
大多数的用户有足够的信心不做太多的测试而顺便在更新发行版本中使用他们的应用.
现在他们能有更多的时间在两个特征发行版本之间.这些不是容易的改变.
我们目前仍然在描绘出更多细节之中,也许下一个两年不是非常精确的符合我上面描述的内容。
总的来说,我们认为提高关注和增加新的发布模型的灵活性将会给平台和Java社团更大的好处.
Java的未来:从老虎(Tiger)向野马(Mustang)和海豚(Dolphin)进发
英语原文
Posted By: Dion Almaer on September 30, 2004 @ 10:01 AM
目前”老虎”已经发布了,人们很想知道Java的未来计划.Sun公司的Mark Reinhode说明了Java发布模式的改变.将不会有任何维护级别的版本发布.升级的发行版本将按照大约每2-3个月频率发布.
这样可以在发布的版本里同时包含修改的内容.
新的发行计划周期
呼!我可以听到Sun公司内部和外部为了这个令人惊异的产品发出的如释重负的呼出声.
我们希望你能对这个产品有良好的感受.正如我以前所说的,我认为Tiger是自JDK 1.1以来,我们所构造的JDK里质量最高的.
这里似乎应该是向前展望的时候了,并且对我们对J2SE的发布模式修改的一些细节说明.
目前有三种类型的版本发行模式
特征发行版本用大的数目来表示(1.3,1.4,1.5 5.0),包含了成千的错误修正和众多的新特征.
这一般需要间隔24-36个月.
维护发行版本,也叫做”点-点” 发行(1.4.1,1.4.2等等),包含了许多错误修订,但是没有的性API的特征.
这些需要8-10月的间隔.
升级发行版本,也叫做”下画线” 发行(1.4.2_01,1.5.0_01 5.0 update 1),这包含了非常少量的错误修正(一般大约100左右),重要是非常仔细的从客户所遇到的比较紧急的错误.Sun 每3-4个月发布一个版本.向前来讲,我们打算简化我们发行版本的增加的速率.
尤其是:
特征发行版本将每18-24月发布.这是为了平台适合开发人员社团更加快速的演进及同.NET的竞争需要.
将不会有更多的维护版本发布.从Tiger(5.0)开始,将不会有如同1.4.1和1.4.2那里包含1500-2000错误修正的版本.如果这样,将会发布一个5.1版本,但同样包含特别特征的升级发行.
升级发行版本每2-3个月发布一次.这样将尽可能重大错误及时休正发布给用户.
改变一个发行模型对我们而言不是一件轻松的.这是数月来同我们的合作伙伴会谈及社团开发人员会谈的结果.两外两个从这些改变获得好处是:
发布将更加准时.在J2SE工程师组织内部,长期以来我们总是在困难的选择之间角斗:使当前维护发布尽可能的完美对在下一个大的新的特征上工作.这种冲突造成了很多计划超出了时间.新的发布模型解决了这种紧张:J2SE工程师一般情况下总是在为下一个特征发行版本上工作.当他们要求休正错误的时候将在一个升级发行版本中.甚至是更加珍贵的非凡工作(比如性能的提高),都将在一个升级发行版本中完成,当然可能会有异常情况超出这个规则.
发行版本的采用将会提高.已存在的中等规模的版本发行有较大的采用瘴碍.在这种程度的改变许多用户有足够的信心在他们已经限定的所有程序中采用.换句话说,对待他们更像在测试术语中的特征发行.
大多数的用户有足够的信心不做太多的测试而顺便在更新发行版本中使用他们的应用.
现在他们能有更多的时间在两个特征发行版本之间.这些不是容易的改变.
我们目前仍然在描绘出更多细节之中,也许下一个两年不是非常精确的符合我上面描述的内容。
总的来说,我们认为提高关注和增加新的发布模型的灵活性将会给平台和Java社团更大的好处.
星期四, 九月 30, 2004
Groovy 1.0 beta 7增加了embed 使用的jar库
为了方便在java中调用Groovy,Groovy提供了D:\groovy-1.0-beta-7\embeddable下的groovy-all-1.0-beta-7.jar文件可以包含在Web Module或类似应用中.
Today 2004.9.30.groovy 1 beta 7发表
今天收到Email Notifier说groovy beta 7发布了.
不过看了看change log.文档没有加入,修改的几个BUG.我都没碰到.
有关ClassLoader的问题,也没有修改.
只是一个小小的版本改动.
不过看了看change log.文档没有加入,修改的几个BUG.我都没碰到.
有关ClassLoader的问题,也没有修改.
只是一个小小的版本改动.
星期三, 九月 29, 2004
利用XMLHttpRequest对象来提交数据.
Use the XMLHttpRequest Object to Post Data
When using XMLHttpRequest object, there is a way to post data in the same way that an HTML Form is posted.
All you need to do is add an HTTP header, and send the data the same way you'd send it on the QueryString.
Here's a JScript example for the client side, that submits form data to another page:
var objHTTP, strResult;
objHTTP = new ActiveXObject('Microsoft.XMLHTTP');
objHTTP.Open('POST',"OtherPage.asp",false);
objHTTP.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
objHTTP.send("id=1&user="+txtUser.value+"&password="+txtPassword.value);
strResult=objHTTP.responseText;
When using XMLHttpRequest object, there is a way to post data in the same way that an HTML Form is posted.
All you need to do is add an HTTP header, and send the data the same way you'd send it on the QueryString.
Here's a JScript example for the client side, that submits form data to another page:
var objHTTP, strResult;
objHTTP = new ActiveXObject('Microsoft.XMLHTTP');
objHTTP.Open('POST',"OtherPage.asp",false);
objHTTP.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
objHTTP.send("id=1&user="+txtUser.value+"&password="+txtPassword.value);
strResult=objHTTP.responseText;
星期一, 九月 27, 2004
欢迎你来到异次元空间!
Welcome to the 11th Dimension
自爱因斯坦之后,我们关于时空的最奇幻的构思.
我们处在一个最多11维的时空中.
自1995 Nova发表 Welcome to the 11th Dimension论文以来的进展有多少呢?实验室数据如何设计来证明这个理论呢?
有趣的思考.
图片来自:http://groups.msn.com/Realms-Of-Light/thedivinehologramofspirit.msnw
自爱因斯坦之后,我们关于时空的最奇幻的构思.
我们处在一个最多11维的时空中.
自1995 Nova发表 Welcome to the 11th Dimension论文以来的进展有多少呢?实验室数据如何设计来证明这个理论呢?
有趣的思考.
图片来自:http://groups.msn.com/Realms-Of-Light/thedivinehologramofspirit.msnw
|
Nova The Elegant Universe: Welcome to the 11th Dimension "The Elegant Universe: Welcome to the 11th Dimension," shows how in 1995 Edward Witten of Princeton's Institute for Advanced Study, aided by others, revolutionized string theory by successfully uniting the five different versions into a single theory that is cryptically named "M-theory," a development which required a total of eleven dimensions. Ten...eleven...who's counting? But the new eleventh dimension is different from all the others, since it implies that strings can come in higher dimensional shapes called membranes, or " branes" for short. These have truly science-fiction-like qualities, since in principle they can be as large as the universe. A brane can even be a universe -- a parallel universe -- and we may be living on one right now. Branes might also explain why gravity is the weakest force, requiring all the matter in the Earth to produce a measly one g. According to this idea, gravity may be far more potent, but most of its strength is leaking into a parallel universe. Witten has described string theory as "a part of 21st-century physics that fell by chance into the 20th century." In fact, the theory is so far ahead of experimental technique that there is as yet no way to verify whether strings are real or a figment of some very creative imaginations. But scientists at the CERN atom-smasher on the French- Swiss border are working to test of one of the predictions of string theory. Scheduled to run later in this decade, this experiment may take an important step in showing that string theory is not just a crazy idea, but crazy reality. (CC) (D) |
如何让Google机器人搜索自己的网站呢?
Knowledge website 1:
http://webdesign.about.com/cs/googleoptimization/
关于SEO(Search Engine Optimized)的话题很久了.
但是我不知道Googlebot关于robots.txt和<meta name="Googlebot" content="index,follow"/>
的优先级别顺序是怎样的?
所以需要测试.不过先把<meta>标志加入网页再说其他了.:)
http://webdesign.about.com/cs/googleoptimization/
关于SEO(Search Engine Optimized)的话题很久了.
但是我不知道Googlebot关于robots.txt和<meta name="Googlebot" content="index,follow"/>
的优先级别顺序是怎样的?
所以需要测试.不过先把<meta>标志加入网页再说其他了.:)
星期五, 九月 24, 2004
B/S开发的新里程碑(B/S application Milestone)XMLHttpRequest
Dynamic HTML and XML: The XMLHttpRequest Object
动态HTML及XML:介绍XMLHttpRequest对象
(翻译:有增删:原文见:TaH Website
随着XML数据和Web服务的部署越来越普遍,你偶尔会觉的如果在HTML表现层不需要刷新页面而直接
得到XML数据来更新中间状态也是非常方便的.要感谢可爱的 XMLHttpRequest对象,可以在后台直接
提交或获得XML 数据,这扩展了Web Client的使用范围.
为了改变接受到的XML 数据并渲染成HTML内容,依赖于客户端DOM读取XML文档节点树组成用户最终
看见的HTML元素
历史和支持
Microsoft首先在IE 5 window版本用ActiveX技术实现了XMLHttpRequest对象.Mozilla 项目的工程
师们实现了兼容的本地版本Mozilla 1.0(及Netscape 7).Apple在Safari 1.2上完成了同样的工作.
包含W3C标准期望的相似的功能,DOM level 3载入及保存规范.同时随着支持XMLHttpRequest对象意味着这已经成为事实的标准.以后W3C的规范最终应该会支持它并且所有的browser都会支持的。
如何建立对象?
建立一个XMLHttpRequest对象要求根据不同的Browser用不同的方式来实例化对象.对Safari和
Mozila系列.简单调用对象的constructor功能就可以完成这个:
var req = new XMLHttpRequest();
对使用ActiveX的对象,通过传递对象名称来建立:
var req = new ActiveXObject("Microsoft.XMLHTTP");
两种构造方法都返回一个抽象对象的引用.它的方法控制所有的操作,同时他的属性从服务器返回的数据
对象方法
XMLHttpRequest对象在所有支持的环境中使用都非常简明,但是非常强大,列表所有的方法和属性
Table 1显示Safari 1.2,Mozilla及IE 5及以后的windows版本.
Table 1. 一般XMLHttpRequest对象方法
在Table 1中显示的方法.open()和send()方法可能是你最常用的.
首先open(),用来设置一个将要用的操作场景.两个必须的参数是你将要请求的HTTP方法和连接的目
的URL.对于method参数,你可以设置"GET"接受基本数据.然后使用"POST"发送数据到服务器,尤其是数据可能大于512字节.URL可以是绝对或相对地址(不过可能引起Browser安全问题)
重要的第三个选项参数是Boolean值用来控制是否将来的事物是否异步.默认的行为是true既异步,
这表示脚本进程在调用send()后立即返回不要等待回应.如果你设置这个值为false,那么,脚本将等
到服务器返回数据为止.看起来似乎等待服务器返回数据再继续脚本进程是个好主意.但是这样做可能导致脚本因为网络或服务器问题而不能完成事务,导致脚本挂死.一个安全的主意是用send 异步操作方式,但把代码挂在onreadstatechange事件上是个好主意.
如下例:
var req;
function loadXMLDoc(url) {
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send();
}
}
}
注意:从服务器返回的数据必须保证Content-Type是:text/xml 内容设置为text/plain或text/html
不被request对象接受.
对象属性
Table 2. 所有属性都是只读的
Table 2. 常见 XMLHttpRequest对象属性
动态HTML及XML:介绍XMLHttpRequest对象
(翻译:有增删:原文见:TaH Website
随着XML数据和Web服务的部署越来越普遍,你偶尔会觉的如果在HTML表现层不需要刷新页面而直接
得到XML数据来更新中间状态也是非常方便的.要感谢可爱的 XMLHttpRequest对象,可以在后台直接
提交或获得XML 数据,这扩展了Web Client的使用范围.
为了改变接受到的XML 数据并渲染成HTML内容,依赖于客户端DOM读取XML文档节点树组成用户最终
看见的HTML元素
历史和支持
Microsoft首先在IE 5 window版本用ActiveX技术实现了XMLHttpRequest对象.Mozilla 项目的工程
师们实现了兼容的本地版本Mozilla 1.0(及Netscape 7).Apple在Safari 1.2上完成了同样的工作.
包含W3C标准期望的相似的功能,DOM level 3载入及保存规范.同时随着支持XMLHttpRequest对象意味着这已经成为事实的标准.以后W3C的规范最终应该会支持它并且所有的browser都会支持的。
如何建立对象?
建立一个XMLHttpRequest对象要求根据不同的Browser用不同的方式来实例化对象.对Safari和
Mozila系列.简单调用对象的constructor功能就可以完成这个:
var req = new XMLHttpRequest();
对使用ActiveX的对象,通过传递对象名称来建立:
var req = new ActiveXObject("Microsoft.XMLHTTP");
两种构造方法都返回一个抽象对象的引用.它的方法控制所有的操作,同时他的属性从服务器返回的数据
对象方法
XMLHttpRequest对象在所有支持的环境中使用都非常简明,但是非常强大,列表所有的方法和属性
Table 1显示Safari 1.2,Mozilla及IE 5及以后的windows版本.
Table 1. 一般XMLHttpRequest对象方法
| 方法 | 描述 |
| abort() | 停止当前请求 |
| getAllResponseHeaders() | 返回一组标题头(标识及其值)字符串 |
| getResponseHeader("headerLabel") | 返回指定头标识的字符串值 |
| open("method", "URL"[, asyncFlag[, "userName"[, "password"]]]) | 给一个等待状态的请求制定目标URL,方法及其它可选的属性 |
| send(content) | 发送请求,另外可以附加提交的字符传或DOM对象数据 |
| setRequestHeader("label", "value") | 跟随请求设定指顶的标题标识及其值. |
在Table 1中显示的方法.open()和send()方法可能是你最常用的.
首先open(),用来设置一个将要用的操作场景.两个必须的参数是你将要请求的HTTP方法和连接的目
的URL.对于method参数,你可以设置"GET"接受基本数据.然后使用"POST"发送数据到服务器,尤其是数据可能大于512字节.URL可以是绝对或相对地址(不过可能引起Browser安全问题)
重要的第三个选项参数是Boolean值用来控制是否将来的事物是否异步.默认的行为是true既异步,
这表示脚本进程在调用send()后立即返回不要等待回应.如果你设置这个值为false,那么,脚本将等
到服务器返回数据为止.看起来似乎等待服务器返回数据再继续脚本进程是个好主意.但是这样做可能导致脚本因为网络或服务器问题而不能完成事务,导致脚本挂死.一个安全的主意是用send 异步操作方式,但把代码挂在onreadstatechange事件上是个好主意.
如下例:
var req;
function loadXMLDoc(url) {
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send();
}
}
}
注意:从服务器返回的数据必须保证Content-Type是:text/xml 内容设置为text/plain或text/html
不被request对象接受.
对象属性
Table 2. 所有属性都是只读的
Table 2. 常见 XMLHttpRequest对象属性
| 属性 | 说明 |
| onreadystatechange | 当每个状态改变时产生的事件 |
| ReadyState | 对象状态整数0 = uninitialized1 = loading2 = loaded3 = interactive4 = complete |
| responseText | 服务器返回结果的字符串样本 |
| responseXML | DOM规范的服务器返回结果 |
| status Numeric | code returned by server, such as 404 for "Not Found" or 200 for "OK" |
| statusText | String message accompanying the status code |
如何使用XMLHttpRequest和DIV来动态载入内容
这段代码为Mozilla运行.IE代码不同 .
红色的为关键代码。
<div id=content name="content" width=80% heigth=80% >
wait
</div>
<script>
var http;
http = new XMLHttpRequest();
try
{
http.open("GET", "http://wang.journalspace.com", true);
}catch(e)
{
netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
//弹出安全限制对话框,要用户授权。
http.open("GET", "http://wang.journalspace.com", true);
http.onreadystatechange=function() {
if (http.readyState==4) {
alert(http.responseText);
document.getElementById('content').innerHTML=http.responseText;
}
}
document.getElementById('content').innerHTML="Wait...";
http.send('');
}
</script>
红色的为关键代码。
<div id=content name="content" width=80% heigth=80% >
wait
</div>
<script>
var http;
http = new XMLHttpRequest();
try
{
http.open("GET", "http://wang.journalspace.com", true);
}catch(e)
{
netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
//弹出安全限制对话框,要用户授权。
http.open("GET", "http://wang.journalspace.com", true);
http.onreadystatechange=function() {
if (http.readyState==4) {
alert(http.responseText);
document.getElementById('content').innerHTML=http.responseText;
}
}
document.getElementById('content').innerHTML="Wait...";
http.send('');
}
</script>
Signed Scripts in Mozilla
很好,对Mozilla(FireFox)如何获得Javascript信任给出了代码
http://www.mozilla.org/projects/security/components/signed-scripts.html
http://www.mozilla.org/projects/security/components/signed-scripts.html
星期四, 九月 23, 2004
MySql如何增加一个新用户或改密码.
SET PASSWORD FOR root@"%" = PASSWORD('xxxxx');
GRANT ALL PRIVILEGES ON *.* TO ehrm@"myhost" IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ehrm@"%" IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ehrm@localhost IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO ehrm@"myhost" IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ehrm@"%" IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ehrm@localhost IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;
FLUSH PRIVILEGES;
利用IE6和Javascript同服务器交互
Use the XMLHttpRequest Object to Post Data
When using XMLHttpRequest object, there is a way to post data in the same way that an HTML Form is posted.
All you need to do is add an HTTP header, and send the data the same way you'd send it on the QueryString.
Here's a JScript example for the client side, that submits form data to another page:
var objHTTP, strResult;
objHTTP = new ActiveXObject('Microsoft.XMLHTTP');
objHTTP.Open('POST',"OtherPage.asp",false);
objHTTP.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
objHTTP.send("id=1&user="+txtUser.value+"&password="+txtPassword.value);
strResult=objHTTP.responseText;
When using XMLHttpRequest object, there is a way to post data in the same way that an HTML Form is posted.
All you need to do is add an HTTP header, and send the data the same way you'd send it on the QueryString.
Here's a JScript example for the client side, that submits form data to another page:
var objHTTP, strResult;
objHTTP = new ActiveXObject('Microsoft.XMLHTTP');
objHTTP.Open('POST',"OtherPage.asp",false);
objHTTP.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
objHTTP.send("id=1&user="+txtUser.value+"&password="+txtPassword.value);
strResult=objHTTP.responseText;
Javascript 同Regua参考资料
STRING MATCHING AND REPLACING IN JAVASCRIPT 1.2
http://developer.netscape.com/viewsource/angus_strings.html
及通过.prototype扩展Javascript的功能.
http://www.javascriptkit.com/javatutors/proto4.shtml
http://developer.netscape.com/viewsource/angus_strings.html
及通过.prototype扩展Javascript的功能.
http://www.javascriptkit.com/javatutors/proto4.shtml
星期三, 九月 22, 2004
如何避免GroovyClassLoader Defect 不足.避免动态类占用内存资源.
在Java 使用Groovy经典代码:
GroovyShell _shell=new GroovyShell(new Binding());
String text="tax=0.4; return 1000*tax;";
for(int i=0;i<3000;i++)
{
System.out.println(_shell.evaluate(text,"textScript.groovy"));
}
通过使用GroovyShell.evaluate(String script,String fileName)可以避免同一段脚本,被GroovyShell生成多个动态类保存在cache里.
GroovyShell _shell=new GroovyShell(new Binding());
String text="tax=0.4; return 1000*tax;";
for(int i=0;i<3000;i++)
{
System.out.println(_shell.evaluate(text,"textScript.groovy"));
}
通过使用GroovyShell.evaluate(String script,String fileName)可以避免同一段脚本,被GroovyShell生成多个动态类保存在cache里.
如何使用JAX-RPC使用Java Object 当做Web Service
JAX-RPC (http://java.sun.com/xml/jaxrpc/index.jsp)是一组Java API 为了使用基于XML的远程调用.
详细内容参考http://java.sun.com/developer/EJTechTips/2004/tt0824.html#1
详细内容参考http://java.sun.com/developer/EJTechTips/2004/tt0824.html#1
星期二, 九月 21, 2004
如何利用Dynamic ClassLoader 来动态载入Class
以GroovyClassloader为例子:
import groovy.lang.GroovyShell;
import groovy.lang.Binding;
import groovy.lang.Closure;
import groovy.lang.Script;
import groovy.lang.*;
public class testGroovyMemoryLeak
{
public static void main(String[] args) throws Exception
{
String text="tax=0.4; return 1000*tax;";
ClassLoader parent = Thread.currentThread().getContextClassLoader();
GroovyObject groovyObject=null;
GroovyClassLoader loader=null;
Class groovyClass =null;
Object temp=null;
for(int i=0;i<3000;i++)
{
loader = new GroovyClassLoader(Thread.currentThread().getContextClassLoader());
groovyClass = loader.parseClass(text);
groovyObject = (GroovyObject) groovyClass.newInstance();
temp = groovyObject.invokeMethod("run", args);
System.out.println("value="+temp);
temp=null;
loader=null;
System.gc();
}
}
}
import groovy.lang.GroovyShell;
import groovy.lang.Binding;
import groovy.lang.Closure;
import groovy.lang.Script;
import groovy.lang.*;
public class testGroovyMemoryLeak
{
public static void main(String[] args) throws Exception
{
String text="tax=0.4; return 1000*tax;";
ClassLoader parent = Thread.currentThread().getContextClassLoader();
GroovyObject groovyObject=null;
GroovyClassLoader loader=null;
Class groovyClass =null;
Object temp=null;
for(int i=0;i<3000;i++)
{
loader = new GroovyClassLoader(Thread.currentThread().getContextClassLoader());
groovyClass = loader.parseClass(text);
groovyObject = (GroovyObject) groovyClass.newInstance();
temp = groovyObject.invokeMethod("run", args);
System.out.println("value="+temp);
temp=null;
loader=null;
System.gc();
}
}
}
订阅:
博文 (Atom)