亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP頁面靜態化批量生成代碼分享(多種方法)

2024-05-04 11:08:18
字體:
來源:轉載
供稿:網友
最近朋友網站需要將網站生成靜態,但有時候生成靜態會出現問題,特多整理了一些方法, 大家可以根據自己網站需要選擇。
 
 
 
1、ASP兩種簡單的生成靜態首頁的方法 

為什么要生成靜態首頁? 
1、如果你首頁讀取的數據庫次數比較多,速度很慢,而且占用很多服務器資源。使用靜態頁面訪問速度當然快多了 
2、搜索引擎容易搜索到 
3、如果程序出問題,也能保證首頁能訪問。 
4、其他的太多,自己想:) 
應用方式: 
如果你的首頁是index.asp,你可以生成index.htm (默認訪問順序必須是index.htm,index.asp)。這樣訪問者第一次訪問到你的網站的時候打開的是index.htm 。你可以把網站首頁的鏈接做成index.asp,這樣從網站任何一個頁面點擊首頁的鏈接出現的就是index.asp,這樣保證的信息更新的及時性(畢竟index.htm需要每次手動更新)。 
方法一: 
直接將首頁文件包含在表單文本框中,將首頁代碼最為數據提交,然后生成靜態頁面。 
代碼如下: 
復制代碼代碼如下:

<% 
'------------------------------------------------------------ 
'使用表單提交生成靜態首頁的代碼 
'確保你的空間支持FSO,且首頁代碼內容較少 
'------------------------------------------------------------ 
dim content 
content=Trim(Request.Form("content")) 
if content<>"" then 
call makeindex() 
end if 
sub makeindex() 
Set Fso = Server.CreateObject("Scripting.FileSystemObject") 
Filen=Server.MapPath("index.htm") 
Set Site_Config=FSO.CreateTextFile(Filen,true, False) 
Site_Config.Write content 
Site_Config.Close 
Set Fso = Nothing 
Response.Write("<script>alert('已經成功生成首頁!')</script>") 
end sub 
%> 
<form name="form1" method="post" action=""> 
<textarea name="content"> 
<!-- #i nclude file="index.asp" --> 
</textarea> 
<br> 
<input type="submit" name="Submit" value="提交"> 
</form> 

缺點: 
1、如果首頁中包括<@ ..>標記,會提示出錯。 
2、如果首頁代碼較長,用表單無法提交過去(表單數據長度有一定的限制)。 
解決方案: 
1、去掉index.asp中的<@ >標記 
2、使用eWebEditor,提交支持大數據(能自動分割) 
優點: 
可以在生成時對內容實時修改。 
方法二: 
直接使用XMLHTTP獲取index.asp的代碼 

復制代碼代碼如下:

<% 
'---------------------------------------------------------- 
'使用XMLHTTP生成靜態首頁的代碼 
'Curl 為你的首頁地址,確保你的空間支持FSO 
'----------------------------------------------------------- 
dim read,Curl,content 
Curl="http://www.xx0123.com/index.asp" 
read=getHTTPPage(Curl) 
if read<>"" then 
content=read 
call makeindex() 
end if 
sub makeindex() 
Set Fso = Server.CreateObject("Scripting.FileSystemObject") 
Filen=Server.MapPath("index.htm") 
Set Site_Config=FSO.CreateTextFile(Filen,true, False) 
Site_Config.Write content 
Site_Config.Close 
Set Fso = Nothing 
Response.Write("<script>alert('已經成功生成首頁!')</script>") 
end sub 
Function getHTTPPage(url) 
dim http 
set http=Server.createobject("Microsoft.XMLHTTP") 
Http.open "GET",url,false 
Http.send() 
if Http.readystate<>4 then 
exit function 
end if 
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312") 
set http=nothing 
if err.number<>0 then err.Clear 
End function 
Function BytesToBstr(body,Cset) 
dim objstream 
set objstream = Server.CreateObject("adodb.stream") 
objstream.Type = 1 
objstream.Mode =3 
objstream.Open 
objstream.Write body 
objstream.Position = 0 
objstream.Type = 2 
objstream.Charset = Cset 
BytesToBstr = objstream.ReadText 
objstream.Close 
set objstream = nothing 
End Function 
%> 


2、模板分離批量生成 

模板文件中要替換的內容均以{...}括起來 
為力求簡潔,去掉了錯誤處理代碼(replace中要來替換的字符串參數不能為null值,當然fso也應該做錯誤檢查)。 
復制代碼代碼如下:

<% 
' --------------------------------------------------------------------------------------------------------------------- 
' 出自: kevin fung http://www.yaotong.cn 
' 作者: kevin fung 落伍者ID:kevin2008,轉載時請保持原樣 
' 時間: 2006/07/05落伍者論壇首發 
' ----------------------------------------------------------------------------------------------------------------------
Dim start '該變量為指針將要指向的記錄集位置,通過參數動態獲得 
Dim Template '模板文件將以字符串讀入該變量 
Dim content '替換后的字符串變量 
Dim objConn '連接對象 
Dim ConnStr '連接字符串 
Dim sql '查詢語句 
Dim cnt:cnt = 1 '本輪循環計數器初始化 
start = request("start") '獲取本輪指針的開始位置 
If IsNumeric(start) Then start = CLng(start) Else start=1 
If start=0 Then start = 1 '如果start 
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("DataBase.mdb") 
sql = "select * from table_name" 
Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.Open ConnStr 
set rs = Server.CreateObject("ADODB.Recordset") 
rs.open sql,objConn,1,1 '打開數據集 
rs.AbsolutePosition = start '最關鍵的一步,將指針指向start,start通過參數動態獲得 
Template = getTemplate(Server.MapPath("template.html"))' template.html為模板文件,通過函數getTemplate讀入到字符串,模板文件中要替換的內容均以{...}括起來 
While Not rs.eof And cnt<= 500 '500是設定一次請求生成頁面的循環次數,根據實際情況修改,如果太高了,記錄集很多的時候會出現超時錯誤 
content = Replace(Template,"{filed_name_1}",rs("filed_name_1")) '用字段值替換模板內容 
content = Replace(content,"{filed_name_2}",rs("filed_name_2")) 
...... 
content = Replace(content,"{filed_name_n}",rs("filed_name_n")) 
genHtml content,Server.MapPath("htmfiles/"&rs("id")&".html") '將替換之后的Template字符串生成HTML文檔,htmfiles為存儲靜態文件的目錄,請手動建立 
cnt = cnt + 1 '計數器加1 
start = start + 1 '指針變量遞增 
rs.movenext 
wend 
If Not rs.eof Then '通過刷新的方式進行下一輪請求,并將指針變量start傳遞到下一輪 
response.write "<meta http-equiv='refresh' content='0;URL=?start="&start&"'>" 
Else 
response.write "生成HTML文件完畢!" 
End if 
rs.Close() 
Set rs = Nothing 
objConn.Close() 
Set objConn = Nothing 
Function getTemplate(template)'讀取模板的函數,返回字符串,template為文件名 
Dim fso,f 
set fso=CreateObject("Scripting.FileSystemObject") 
set f = fso.OpenTextFile(template) 
getTemplate=f.ReadAll 
f.close 
set f=nothing 
set fso=Nothing 
End Function 
Sub genHtml(content,filename)'將替換后的內容寫入HTML文檔,content為替換后的字符串,filename為生成的文件名 
Dim fso,f 
Set fso = Server.CreateObject("Scripting.FileSystemObject") 
Set f = fso.CreateTextFile(filename,true)'如果文件名重復將覆蓋舊文件 
f.Write content 
f.Close 
Set f = Nothing 
set fso=Nothing 
End Sub 
%> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品一区二区三区| 亚洲欧美在线一区| 91中文精品字幕在线视频| 国产自产女人91一区在线观看| 日韩成人激情视频| 久久亚洲国产精品成人av秋霞| 91亚洲va在线va天堂va国| 国产一区红桃视频| 亚洲大胆人体av| 欧美成人免费va影院高清| 成人网在线免费观看| 欧美日韩在线第一页| 国产一区二区视频在线观看| 国产欧美一区二区三区在线| 亚洲欧美日韩一区二区三区在线| 中文字幕日韩精品有码视频| 少妇激情综合网| 国产成人精品优优av| 超碰91人人草人人干| 国产精品一区二区三区久久久| 亚洲www在线观看| 欧美日韩亚洲一区二| 欧美精品久久久久久久免费观看| 国产91露脸中文字幕在线| 在线观看成人黄色| 在线电影中文日韩| 美日韩在线视频| 久久久成人精品视频| 欧美黑人性视频| 精品成人久久av| 亚洲一级免费视频| 国产午夜精品视频| 亚洲一区美女视频在线观看免费| 欧美成年人视频| 国产成人精品av| 97在线观看免费高清| 久久综合伊人77777蜜臀| 国产一区二区激情| 成人免费观看网址| 日韩欧美亚洲成人| 久久久久国色av免费观看性色| 国产婷婷色综合av蜜臀av| 欧美精品中文字幕一区| 国内精品400部情侣激情| 亚洲国模精品私拍| 日韩精品免费观看| 日本一区二三区好的精华液| 91在线观看免费高清完整版在线观看| 91精品在线看| 久久国产精品影视| 一本色道久久88亚洲综合88| 久久久影视精品| 永久免费精品影视网站| 国产不卡精品视男人的天堂| 国产97人人超碰caoprom| 精品亚洲夜色av98在线观看| 日韩福利在线播放| 国产精品69精品一区二区三区| 亚洲美女av电影| 亚洲美女性视频| 欧美亚洲另类制服自拍| 另类天堂视频在线观看| 中文字幕不卡在线视频极品| 神马国产精品影院av| 国产激情视频一区| 国内精品免费午夜毛片| 亚洲精品电影网| 国产精品久久久久久久久久久久久久| 亚洲第一精品久久忘忧草社区| 一区二区在线免费视频| 好吊成人免视频| 亚洲精品中文字幕av| 大胆人体色综合| 成人a视频在线观看| 亚洲精品一区在线观看香蕉| 亚洲福利在线播放| 日韩av网址在线观看| 亚洲欧洲av一区二区| 国产精品情侣自拍| 国产精品7m视频| 日韩有码在线观看| 色噜噜久久综合伊人一本| 成人做爰www免费看视频网站| 日韩激情视频在线| 亚洲美女自拍视频| 欧美成人性色生活仑片| 亚洲精品在线不卡| 亚洲аv电影天堂网| 国产精品欧美一区二区三区奶水| 亚洲va男人天堂| 亚洲第一页自拍| 欧美不卡视频一区发布| 欧美性猛交xxxxx免费看| 精品无码久久久久久国产| 91大神在线播放精品| 国模gogo一区二区大胆私拍| 欧美成人午夜激情视频| 中文字幕日韩在线播放| 欧美黑人一级爽快片淫片高清| 日韩精品视频在线免费观看| 欧美精品亚州精品| 91av免费观看91av精品在线| 日本欧美在线视频| 91欧美激情另类亚洲| 亚洲自拍av在线| 在线电影中文日韩| 久久久人成影片一区二区三区观看| 成人激情电影一区二区| 国产视频在线观看一区二区| 久久久91精品国产一区不卡| 91视频88av| 亚洲电影免费观看高清完整版在线观看| 国产欧美 在线欧美| 成人女保姆的销魂服务| 91久久久久久国产精品| 国产不卡av在线| 91精品国产91久久久| 亚洲级视频在线观看免费1级| 亚洲男人av在线| 国产视频亚洲精品| 国产成人免费91av在线| 色偷偷av一区二区三区| 日韩欧美在线免费观看| 全色精品综合影院| 日韩av中文字幕在线| 欧美性猛交xxxx富婆弯腰| 亚洲性视频网站| 欧美性黄网官网| 亚洲精品电影久久久| 日韩欧美国产一区二区| 亚洲伊人第一页| 国产精品羞羞答答| 国产综合香蕉五月婷在线| 91精品视频在线播放| 色综合久久88色综合天天看泰| 97在线免费视频| 国产福利精品av综合导导航| 欧美黑人性猛交| 性欧美xxxx交| 国产日韩精品视频| 久久久www成人免费精品张筱雨| 欧美一级视频在线观看| 亚洲天堂免费观看| 亚洲欧美日韩第一区| 欧美制服第一页| 国产日本欧美视频| 日韩成人性视频| 精品国产一区二区三区久久久| 国产精品久久久久9999| 欧美激情欧美狂野欧美精品| 国产中文日韩欧美| 日本道色综合久久影院| 91亚洲精品视频| 热99在线视频| 亚洲午夜精品久久久久久久久久久久| 亚洲国产精品专区久久| 亚洲欧美日韩国产成人| 中文字幕亚洲欧美日韩高清| 欧美色视频日本高清在线观看| 亚洲色图25p| 亚洲激情在线视频| 色哟哟入口国产精品| 国产精品揄拍500视频| 日韩欧美在线一区|