ASP生成静态页面的静态页生成方法
随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页面在搜索时,也会被优先考虑。互联网上流行的做法是将数据源代码写入数据库再从数据库读取生成静态面,这样无形间就加大了数据库。将现有的ASP页直接生成静态页,将会节省很多。
下面的例子是将、index.asp?id=1/index.asp?id=2/index.asp?id=3/这三个动态页面,分别生成index1.htm,index2.htm,index3.htm存在根目录下面:
代码如下
<%
dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp
Html_Temp=<UL>
For i=1 To 3
Html_Temp = Html_Temp&<LI>
Item_Classid = i
FileName = Index&Item_Classid&.htm
FilePath = Server.MapPath(/)&\&FileName
Html_Temp = Html_Temp&FilePath&</LI>
Do_Url = 你的网站地址
Do_Url = Do_Url&Request.ServerVariables(SERVER_NAME)&/main/index.asp
Do_Url = Do_Url&?Item_Classid=&Item_Classid
strUrl = Do_Url
dim objXmlHttp
set objXmlHttp = Server.CreateObject(Microsoft.XMLHTTP)
objXmlHttp.open GET,strUrl,false
objXmlHttp.send()
Dim binFileData
binFileData = objXmlHttp.responseBody
Dim objAdoStream
set objAdoStream = Server.CreateObject(ADODB.Stream)
objAdoStream.Type = 1
objAdoStream.Open()
objAdoStream.Write(binFileData)
objAdoStream.SaveToFile FilePath,2
objAdoStream.Close()
Next
Html_Temp = Html_Temp&<UL>
%>
<%
Response.Write ( 成功生成文件: )
Response.Write ( <BR> )
Response.Write Html_Temp
%>
方法2:
模板文件与数据替换法,这是一种更为方便的生成静态页面的方法,方法是先建立一个或者多个以html为基础的模板文件,在文件中用特殊字符串代表要替换的变量值,然后用查询与替换的方法把数据库中的值替换相应字符串,生成.html的全静态页面。