|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。asp+|xml用ASP+XML打造留言本
www.yesky.com
1、读者指引
读者指引匡助你把握本文的梗概。以避免你看了泰半才分明这编文章不合适你,给你形成视觉净化。
假如你正在用ASP+XML写一些程序,大概你正在学XML那就值得一看。
浏览本文须具有的常识,对ASP有基础的懂得,对XML和DOM有基础懂得,假如你不懂得那末你经由过程进修本文基础上可以撑握ASP+XML和DOM的使用,并能依据本文范写出自已更初级的ASP+XML程序。
2、基础头脑
本文头脑是基于用ASP和DOM来读取和存储XML数据,并使用XML数据来存储留言信息,到达同用数据库存储数据的功效。
3、XML留言本的上风
也许你会问用ASP+TXT文本也能够到达不必数据库实上留言的功效,不错的确可以做到,并且网上也有良多如许的留言本收费下载,但这里我要讲一下ASP+XML的优胜性。
1、XML+ASP比ASP+TXT速率要快。大概你也发明当TXT文件很少时速率出奇的快,可是跟着留言信息的增添TXT文本变年夜,速率却又是出奇的慢这就是ASP+TXT的缺点。固然我不克不及说ASP+XML就必定是出奇的快,可是比起ASP+TXT来讲是快了很多,固然跟着留言信息的增添XML文本增年夜速率也下落很快,可是比起TXT来讲就仍是好了很多(这一点能够从WAS测试证实读者能够自行测试),固然ASP+XML比不上数据库,由于数据库对查询做了出格的优化,而XML只是纯文本,在ASP创建对像是要把XML数据全体读进内存中,假如数据量年夜的话不可思议速率会慢上去。那你大概会问那我甚么时分用干系数据库存储数据,又甚么时分用XML存储数据呢?我这里也特地提一下,就是当数据对照庞大无规率时用XML数据对照符合,另有就是你盘算这些数据要在分歧的操纵体系上读取使用时那就是XML大显神通的时分了。假如你是一般的数据那末不到关头时候或不撑持数据库的空间时仍是不要用XML文件来存储数据为好。
2、XML数据的易读取性,TXT文本是对照难操纵的,我们必需一行一行的读取判别,并且良多功效没法实上,只能体例对照复杂的留言本,而XML数据则分歧了,使用DOM能够容易的会见每个节点,而不是TXT那些烦人的Readline()Witeline()了,我们能够随便的到场删除更新某一个我们感乐趣的节点,使用ASP大概JS大概数据岛都能够轻松实上这一点,固然我这里为发思索兼容性,用了ASP来读取XML数据,而没有效数据岛来读取节点数据(由于只要IE5以上版本才撑持数据岛手艺)而用ASP来实上就不存在这些问了由于客户失掉的是HTML文件。
3、XML数据夸操纵体系性,只需我们把这些数据存储为XML那末这些数据就可以被应何基它言语或体系所辨认,而不必做应何修改。TXT明显不具有这些功能。比方我们在网上的留言信息能够间接被被转换成wap格局在手机上显现。
4、创建存储留言信息的XML文件(List.xml)
我们这里不盘算利用DTD,由于我们这是我们自已体例并测试经由过程的XML数据,以是不必要DTD来考证(假如你对此感乐趣固然能够加一个这不影响程序的运转)。如今我们来看看创建一个留言本的基础要素
0、留言ID号--界说为<id>
1、用户名我们--界说为<username>
2、来自那边们--界说为<fromwhere>
3、留言工夫定--义为<Posttime>
4、用户主页定--义为<homepage>
5、用户的信箱--界说为<email>
6、留言内容定--义为<text>
固然以上不是必需的读者能够自行定名并加减相干标签,把它们组合起来就失掉List.xml的文件了
<?xmlversion="1.0"encoding="gb2312"?>
<site>
<NewList>
<list>
<id>1</id>
<username>苛子</username>
<fromwhere>中国广州</fromwhere>
<Posttime>01-4-2318:26:56</Posttime>
<homepage>http://page2000.xiloo.com</homepage>
<email>lucaihui@cmmail.com</email>
<text>这是我的第一个XML文件</text>
</list>
</NewList>
</site>
注重:必需加上encoding="gb2312"不然会报错为不法字符,由于XML默许不撑持中文。<site>为根节点<NewList><ist>等为子节点。对这个文件的意义我就未几说了人人也应当看的分明了。接上去就是我们怎样来显现它了。
5、创建显现XML数据的ASP文件(index.asp)
这个文件要完成的功效就是读取并显现XML数据,起首创立一个XML对像然后把XML读进内存中,使用DOM分别出我们所要的数据。
<%
strSourceFile=Server.MapPath("/")&"List.xml"
猎取XML文件的路径这里依据你的假造目次分歧而分歧
SetobjXML=Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
以自在线程创立一个XML对像
objXML.load(strSourceFile)把XML文件读进内存
SetobjRootsite=objXML.documentElement.selectSingleNode("NewList")
拔取NewList节点
%>
<html>
<head>
<title>留言本</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<styletype="text/CSS">
<!--
td{font-family:"宋体";font-size:9pt;text-decoration:none}
a{font-family:"宋体";font-size:9pt;color:#0066CC;text-decoration:none}
a:hover{color:#FF6600;text-decoration:underline}
-->
</style>
</head><bodybgcolor="#0099CC"text="#000000">
<tablewidth="80%"border="0"cellspacing="1"cellpadding="4"align="center"bgcolor="#CCCCCC">
<trbgcolor="#000000">
<tdcolspan="2"><fontcolor="#FFFFFF">留言溥<ahref="PostNew.asp"><fontcolor=#FFFFFF>写新留言</font></a></font></td>
</tr>
<%
PageSize=10假定每页显现10条留言
AllNodesNum=objRootsite.childNodes.length-1
猎取子节点数据(由于是从节点数从0入手下手的所最年夜子节点数要减1)
PageNum=AllNodesNumPageSize+1算出总页数
PageNo=request.querystring("PageNo")
ifPageNo=""then假如是每次取得页面则定位到每页显现最新的留言
PageNo=PageNum
endif
StarNodes=PageNo*PageSize-1取得肇端节点
EndNodes=(PageNo-1)*PageSize取得停止节点
ifEndNodes<0then
EndNodes=0
endif
ifStarNodes>AllNodesNumthen判别肇端节点数是不是凌驾总的节点数
EndNodes=EndNodes-(StarNodes-AllNodesNum)
假如凌驾则停止节点要减往(StarNodes-AllNodesNum)的差值不然下标会超界堕落
StarNodes=AllNodesNum
endif
ifEndNodes<0then
EndNodes=0
endif
whileStarNodes>=EndNodes
从停止节点到超始节点之间读取节点数据
username=objRootsite.childNodes.item(StarNodes).childNodes.item(1).text
取得用户名
fromwhere=objRootsite.childNodes.item(StarNodes).childNodes.item(2).text
取得用户来自那边
Posttime=objRootsite.childNodes.it</p>asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般 |
|