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

首頁 > 編程 > ASP > 正文

比較ASP生成靜態HTML文件的幾種方法_ASP教程

2024-05-04 11:03:24
字體:
來源:轉載
供稿:網友

推薦:關于Asp代碼與頁面的分離
為了避免ASP程TML代碼混寫造成維護困難的情況,本文介紹了一種方法,利用模板來分離程序和頁面,使程序設計更加輕松。在使用ASP制作一個站點的時候,常常會出現一個ASP文件中,程序代碼和HTM

將動態頁面轉換生成靜態Html文件有許多好處,比如生成html網頁有利于被搜索引擎收錄(特別是對接受動態參數的頁面)。前臺訪問時,脫離了數據訪問,減輕對數據庫訪問的壓力,加快網頁打開速度。

當然,凡事有利必有弊,生成HTML頁面無形中也耗費大量的磁盤空間以存放這些靜態文件,在編輯頁面過程中除讀寫數據庫外,也要讀寫服務器磁盤,頁面樣式的改動必須重新生成全部HTML文件,等等。

像很多搜索引擎,都可以提交網站的頁面地址列表,動態文件的收錄問題已經不算是個問題了(如google sitemap)。得失就要自己衡量把握了,但無論如何,我們還是要懂得如何操作的。這里就引用一下別人的文章說明幾種常見的生成思路,供大家參考參考。

1、下面這個例子直接利用FSO把html代碼寫入到文件中然后生成.html格式的文件 。這是最原始的,優點是簡單,缺點是頁面的修改不方便,我一般用到的地方是利用它生成整站參數文件。(通常網站如標題,名稱等配置保存在數據庫,我將它生成config.asp保存這些變量調用,避免頻繁訪問數據庫)

以下為引用的內容:

<%
filename="test.htm"
if request("body")<>"" then
set fso = Server.CreateObject("Scripting.FileSystemObject")
set htmlwrite = fso.CreateTextFile(server.mappath(""&filename&""))
htmlwrite.write "<html><head><title>" & request.form("title") & "</title></head>"
htmlwrite.write "<body>輸出Title內容: " & request.form("title") & "<br /> 輸出Body內容:" & request.form("body")& "</body></html>"
htmlwrite.close
set fout=nothing
set fso=nothing
end if
%>
<form name="form" method="post" action="">
<input name="title" value="Title" size=26>
<br>
<textarea name="body">Body</textarea>
<br>
<br>
<input type="submit" name="Submit" value="生成html">
</form>

2、但是按照上面的方法生成html文件非常不方便,第二種方法就是利用模板技術,將模板中特殊代碼的值替換為從表單或是數據庫字段中接受過來的值,完成模板功能,將最終替換過的所有模板代碼生成HTML文件。這種技術采用得比較多,大部分的CMS都是使用這類方法。

以下為引用的內容:

template.htm ' //模板文件
<html>
<head>
<title>$title$ by CuoXIn.com</title>
</head>
<body>
$body$
</body>
</html>
TestTemplate.asp '// 生成Html
<%
Dim fso,htmlwrite
Dim strTitle,strContent,strOut
'// 創建文件系統對象
Set fso=Server.CreateObject("Scripting.FileSystemObject")
'// 打開網頁模板文件,讀取模板內容
Set htmlwrite=fso.OpenTextFile(Server.MapPath("Template.htm"))
strOut=f.ReadAll
htmlwrite.close
strTitle="生成的網頁標題"
strContent="生成的網頁內容"
'// 用真實內容替換模板中的標記
strOut=Replace(strOut,"$title$",strTitle)
strOut=Replace(strOut,"$body$",strContent)
'// 創建要生成的靜態頁
Set htmlwrite=fso.CreateTextFile(Server.MapPath("test.htm"),true)
'// 寫入網頁內容
htmlwrite.WriteLine strOut
htmlwrite.close
Response.Write "生成靜態頁成功!"
'// 釋放文件系統對象
set htmlwrite=Nothing
set fso=Nothing
%>

3、第三種方法就是用XMLHTTP獲取動態頁生成的HTML內容,再用ADODB.Stream或者Scripting.FileSystemObject保存成html文件。找到一段XMLHTTP生成Html的代碼參考一下。

以下為引用的內容:

<%
'常用函數
'1、輸入url目標網頁地址,返回值getHTTPPage是目標網頁的html代碼
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.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

'2、轉換亂瑪,直接用xmlhttp調用有中文字符的網頁得到的將是亂瑪,可以通過adodb.stream組件進行轉換

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
txtURL=server.MapPath("../index.asp")
sText = getHTTPPage(txtURL)
Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
filename="../index.htm"
Set openFile=FileObject.OpenTextfile(server.mapPath(filename),2,true) 'true為不存在自行建立
openFile.writeline(sText)
Set OpenFile=nothing
%>
<script>
alert("靜態網頁生成完畢");
history.back();
</script>

小結,這三種方式是比較常用的生成HTML文件方法,我個比較喜歡使用第三種方式,因為頁面改動時非常方便,就算動態頁改動多大都好,只要重新用XMLHTTP讀取生成一次即可。

分享:WEB應用的緩存兼容性設計
經過代理以后,由于在客戶端和服務之間增加了中間層,因此服務器無法直接拿到客戶端的IP,服務器端應用也無法直接通過轉發請求的地址返回給客戶端。但是在轉發請求的HTTD頭信息中,增加了HTTP_X

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
伊人久久久久久久久久久久久| 久久人人爽人人爽爽久久| 成人高h视频在线| 欧美日韩性生活视频| 亚洲欧美中文日韩在线v日本| 欧美在线不卡区| 色综合久综合久久综合久鬼88| 日韩av免费看网站| 日本精品在线视频| 亚洲综合av影视| 日韩在线高清视频| 国产精品人人做人人爽| 亚洲欧美国产精品专区久久| 亚洲天堂av在线免费| 91在线免费观看网站| 国产精品久久久久久久久久久新郎| 91精品视频观看| 97精品国产aⅴ7777| 一区二区国产精品视频| 欧美日韩精品二区| 亚洲图片制服诱惑| 中文在线不卡视频| 日韩av中文字幕在线免费观看| 国产精品入口尤物| 日本亚洲欧美成人| 日韩欧美第一页| 国产精品情侣自拍| 2021国产精品视频| 久久久精品国产网站| 日本精品一区二区三区在线播放视频| 欧美精品久久久久久久久| 国产亚洲精品一区二区| 国产日韩在线亚洲字幕中文| 91精品成人久久| 亚洲国产另类 国产精品国产免费| 久久天天躁狠狠躁老女人| 欧美一区二区大胆人体摄影专业网站| 亚洲黄色片网站| y97精品国产97久久久久久| 亚洲成人精品久久| 国模叶桐国产精品一区| 欧美激情久久久| 久久91亚洲精品中文字幕| 国产精品一区二区久久久久| 国产亚洲a∨片在线观看| 亚洲精品国精品久久99热| 欧美精品做受xxx性少妇| 欧美日本精品在线| 国产成人午夜视频网址| 中文字幕精品国产| 日韩欧美在线字幕| 国产一区二区三区在线播放免费观看| 91精品国产乱码久久久久久蜜臀| 国产久一一精品| 尤物yw午夜国产精品视频明星| 国产精品扒开腿做爽爽爽的视频| 久久久久久尹人网香蕉| 黑人巨大精品欧美一区二区三区| 综合欧美国产视频二区| 美日韩精品免费观看视频| 欧美在线影院在线视频| 日韩亚洲国产中文字幕| 日韩精品免费在线视频| 国内精品在线一区| 欧美超级免费视 在线| 欧美在线激情视频| 久久精品电影网站| 国产精品第3页| 日韩av在线免费观看一区| 国产日韩精品电影| 久久久久久久国产| 中文字幕精品国产| 国产最新精品视频| 不卡毛片在线看| 亚洲а∨天堂久久精品喷水| 国外成人在线播放| 欧美日韩在线视频一区| 欧美成在线观看| 俺去了亚洲欧美日韩| 精品国产一区二区三区久久久狼| 久久成年人免费电影| 久久精品精品电影网| 亚洲第一精品夜夜躁人人躁| 国产午夜精品免费一区二区三区| 中文字幕不卡av| 国产精品久久婷婷六月丁香| 久久99久久99精品中文字幕| 81精品国产乱码久久久久久| 国产69精品99久久久久久宅男| 日韩精品在线播放| 国产一区二区精品丝袜| www.久久久久久.com| 国产一区二区三区网站| 国产精品久久久精品| 久久久免费精品| 国产日韩欧美日韩| 日韩国产高清视频在线| 奇米四色中文综合久久| 亚洲精品在线不卡| 欧美日韩免费在线| 26uuu亚洲伊人春色| 久久人人爽人人爽人人片av高清| 国产一区二区美女视频| 全色精品综合影院| 亚洲永久在线观看| 亚洲成人av中文字幕| 欧美在线欧美在线| 国产精品小说在线| 欧美在线性视频| 国产一区二中文字幕在线看| 欧美精品18videosex性欧美| 亚洲黄色av女优在线观看| 91最新在线免费观看| 亚洲一区中文字幕| 中文欧美日本在线资源| 久久国产色av| 国产区亚洲区欧美区| 亚洲欧美日韩国产成人| 欧美激情免费视频| 日韩专区在线播放| 日韩av一卡二卡| 欧美风情在线观看| 国产精品观看在线亚洲人成网| 亚州欧美日韩中文视频| 韩国美女主播一区| 九九热在线精品视频| 日本一欧美一欧美一亚洲视频| 色综合视频网站| 欧美一区二区三区图| 国产精品成人国产乱一区| 91免费看国产| 色阁综合伊人av| 97久久久免费福利网址| 欧美电影在线观看| 国产精品色婷婷视频| 日产精品99久久久久久| 成人在线免费观看视视频| 国产精品精品久久久久久| 亚洲精品日韩丝袜精品| 国产精品igao视频| 亚洲国产精品久久久久秋霞不卡| 国产一区二区三区在线视频| 欧美黄网免费在线观看| 久久影院资源站| 亚洲天堂第一页| 日韩成人在线观看| 亚洲国产高清福利视频| 亚洲午夜未删减在线观看| 中文字幕日韩欧美在线视频| 亚洲福利视频免费观看| 亚洲人成网在线播放| 亚洲wwwav| 国产精品久久久久久久久久久久久久| 国内免费精品永久在线视频| 在线精品高清中文字幕| 红桃视频成人在线观看| 亚洲色图校园春色| 国产一区二区三区在线视频| 国产日韩欧美夫妻视频在线观看| 成人97在线观看视频| 国产欧美在线视频| 国产精品久久久久久久久久久久| 欧美性猛交xxxx| xxxxx91麻豆|