隨著網站訪問量的加大,每次從數據庫讀取都是以效率作為代價的,很多用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的全靜態頁面。