asp生成伪静态的原理及方法
作者:admin 日期:2010-03-26
ASP动态页面转化成静态页面的好处,这里我就不说了,相信大家在网上了解的够多了。现在稍微讲解一下asp动态页面生成静态页面的原理。
其实asp生成静态页面的一个核心就是replace函数。只要知道replace的使用,那么对生成静态页面的方法也就掌握2/3了。废话少说,开始工作吧...
第一步:理解replace函数。
<%
dim str
str="你好!欢迎来到我的博客"
'现在把上面换成“你好!欢迎来到www.zeroplace.cn”;
str=replace(str,"第零空间",www.zeroplace.cn)
response.write(str)
%>
运行一下,现在大概知道replace函数的作用了。现在我们把思维开阔一点,如果我们把"你好!欢迎来到我的博客"这句话换成一个html页面的代码,把页面中的一些内容换成数据库中的内容,那不就实现了动态页面静态化了。有点迷糊吧....哈哈。没关系,举例。。。
第二步:创建静态页面模板
在dreamwear中创建一个html页面。随便输入一点内容。template.html
$content$
现在要实现第一步的替换,那么怎么把这个template.html页面中的代码赋值给str呢?这个应该怎么办?其实asp中有提供一个读取页面代码的方法(描述不是很规范),这个就是用fso。大家把这个下面这个代码记住就可以了。
fso读取 template.html 的方法
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set templates = fso.OpenTextFile(server.MapPath("template.html"))
str=templates.readall()'读出结果,赋值给str
set fso=nothing
set templates=nothing
这个时候就把template.html读到str了。怎么样,到这一步应该知道怎么去替换了吧?那么现在把articleTitle替换成"bonny的个人博客",把content替换成"本站提供网页制作,flash动画制作,平面设计服务,观注互联网前端技术!".
str=replace(str,"articleTitle","bonny的个人博客")
str=replace(str,"content","本站提供网页制作,flash动画制作,平面设计服务,观注互联网前端技术!")
做完替换之后,还有一个最重要的步骤,就是把str重新还原成一个html网页。当然了,不管是读取文件还是写出文件,都离不开fso。那么我们做如下的一些代码。假设新产生的页面设置为bo_index.html
fileName="bo_index.html"
Set createHtml = Server.CreateObject("Scripting.FileSystemObject")
Set htmlFile = createHtml.CreateTextFile(server.MapPath(fileName))
htmlFile.write(str)
set htmlFile=nothing
set createHtml=nothing
执行完上述代码后,去看看,你的硬盘上是不是多了一个bo_index.html.打开来看看她和template.html有什么区别?
第三步:总结。
asp产生静态页面首先要创建一个页面模板,(特别提示:模板中要被替换的内容最好用特殊符号,比如$界定开来,避免其他不能被替换的内容混淆。)
其次是要用fso读出这个模板。最后我们从数据库中查找出数据,替换掉模板中的内容并产生新的页面。
一个小技巧,在设定输出的文件名称的时候,我们未必就用bo_index.html,用bo_index.shtml也是可以的哦,大家试试看吧。