成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP開發(fā)之生成靜態(tài)HTML文件的方法比較

開發(fā) 后端
本文介紹的是在ASP開發(fā)網(wǎng)站中,生成態(tài)HTML文件的方法比較。希望對大家有幫助,一起來看吧!

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

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

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

1、下面這個例子直接利用FSO把html代碼寫入到文件中然后生成.html格式的文件 。

這是最原始的,優(yōu)點是簡單,缺點是頁面的修改不方便,我一般用到的地方是利用它生成整站參數(shù)文件。(通常網(wǎng)站如標題,名稱等配置保存在數(shù)據(jù)庫,我將它生成config.asp保存這些變量調(diào)用,避免頻繁訪問數(shù)據(jù)庫)

以下為引用的內(nèi)容:

 

  1. <%   
  2. filename="test.htm"   
  3. if request("body")<>"" then   
  4. set fso = Server.CreateObject("Scripting.FileSystemObject")   
  5. set htmlwrite = fso.CreateTextFile(server.mappath(""&filename&""))   
  6. htmlwrite.write "<html><head><title>" & request.form("title") & "</title></head>"   
  7. htmlwrite.write "<body>輸出Title內(nèi)容: " & request.form("title") & "<br /> 
  8. 輸出Body內(nèi)容:" & request.form("body")& "</body></html>"   
  9. htmlwrite.close   
  10. set fout=nothing   
  11. set fso=nothing   
  12. end if   
  13. %>   
  14. <form name="form" method="post" action="">   
  15. <input name="title" value="Title" size=26>   
  16. <br>   
  17. <textarea name="body">Body</textarea>   
  18. <br>   
  19. <br>   
  20. <input type="submit" name="Submit" value="生成html">   
  21. </form>  

 

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

以下為引用的內(nèi)容:

 

  1. template.htm ' //模板文件   
  2. <html>   
  3. <head>   
  4. <title>$title$ by webjx.com</title>   
  5. </head>   
  6. <body>   
  7. $body$   
  8. </body>   
  9. </html> 
  10. TestTemplate.asp '// 生成Html   
  11. <%   
  12. Dim fso,htmlwrite   
  13. Dim strTitle,strContent,strOut   
  14. '// 創(chuàng)建文件系統(tǒng)對象   
  15. Set fso=Server.CreateObject("Scripting.FileSystemObject")   
  16. '// 打開網(wǎng)頁模板文件,讀取模板內(nèi)容   
  17. Set htmlwrite=fso.OpenTextFile(Server.MapPath("Template.htm"))   
  18. strOut=f.ReadAll   
  19. htmlwrite.close   
  20. strTitle="生成的網(wǎng)頁標題"   
  21. strContent="生成的網(wǎng)頁內(nèi)容"   
  22. '// 用真實內(nèi)容替換模板中的標記   
  23. strOut=Replace(strOut,"$title$",strTitle)   
  24. strOut=Replace(strOut,"$body$",strContent)   
  25. '// 創(chuàng)建要生成的靜態(tài)頁   
  26. Set htmlwrite=fso.CreateTextFile(Server.MapPath("test.htm"),true)   
  27. '// 寫入網(wǎng)頁內(nèi)容   
  28. htmlwrite.WriteLine strOut   
  29. htmlwrite.close   
  30. Response.Write "生成靜態(tài)頁成功!"   
  31. '// 釋放文件系統(tǒng)對象   
  32. set htmlwrite=Nothing   
  33. set fso=Nothing   
  34. %> 

 

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

以下為引用的內(nèi)容:

常用函數(shù):

1、輸入url目標網(wǎng)頁地址,返回值getHTTPPage是目標網(wǎng)頁的html代碼

  1. <%   
  2. function getHTTPPage(url)   
  3. dim Http   
  4. set Http=server.createobject("MSXML2.XMLHTTP")   
  5. Http.open "GET",url,false   
  6. Http.send()   
  7. if Http.readystate<>4 then   
  8. exit function   
  9. end if   
  10. getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")   
  11. set http=nothing   
  12. if err.number<>0 then err.Clear   
  13. end function % > 

2、轉(zhuǎn)換亂瑪,直接用xmlhttp調(diào)用有中文字符的網(wǎng)頁得到的將是亂瑪,可以通過adodb.stream組件進行轉(zhuǎn)換

  1. <%  
  2. nction BytesToBstr(body,Cset)   
  3. dim objstream   
  4. set objstream = Server.CreateObject("adodb.stream")   
  5. objstream.Type = 1   
  6. objstream.Mode =3   
  7. objstream.Open   
  8. objstream.Write body   
  9. objstream.Position = 0   
  10. objstream.Type = 2   
  11. objstream.Charset = Cset   
  12. BytesToBstr = objstream.ReadText   
  13. objstream.Close   
  14. set objstream = nothing   
  15. End Function   
  16. txtURL=server.MapPath("../index.asp")   
  17. sText = getHTTPPage(txtURL)   
  18. Set FileObject=Server.CreateObject("Scripting.FileSystemObject")   
  19. filename="../index.htm"   
  20. Set openFile=FileObject.OpenTextfile(server.mapPath(filename),2,true) 'true為不存在自行建立   
  21. openFile.writeline(sText)   
  22. Set OpenFile=nothing   
  23. %>   
  24. <script>   
  25. alert("靜態(tài)網(wǎng)頁生成完畢");   
  26. history.back();   
  27. </script>  

 

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

希望通過本文的介紹,能給你帶來幫助。

【編輯推薦】

  1. 利用ASP和SQL Server構建網(wǎng)頁防火墻
  2. ASP新手之常用錯誤處理解析
  3. 分享ASP網(wǎng)頁開發(fā)過程中的小技巧
  4. 經(jīng)驗分享之ASP動態(tài)網(wǎng)頁制作技術
  5. ASP新手之常用ASP內(nèi)置函數(shù)大總結
責任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關推薦

2009-08-28 12:41:49

靜態(tài)方法與非靜態(tài)方法

2009-08-24 18:00:52

ASP.NET模板生成

2009-07-29 15:58:54

靜態(tài)文件處理ASP.NET

2009-08-07 14:05:21

ASP.NET控件

2009-07-30 12:42:19

html控件和web控

2009-08-14 13:37:25

ASP.NET靜態(tài)頁面

2009-07-24 10:53:51

ASP.NET實現(xiàn)靜態(tài)

2014-10-22 10:46:03

ViewportHTML

2011-09-06 14:08:22

IIS

2011-06-15 17:09:43

PHP頁面靜態(tài)化

2009-09-04 13:11:25

ASP.NET生成XM

2014-02-19 09:59:52

iOS開發(fā)Html解析

2010-07-22 11:01:41

SQL Server

2012-09-29 13:20:30

ASP.NETWeb框架

2009-08-05 17:11:51

ASP.NET控件開發(fā)ASP.NET服務器控

2011-05-19 08:38:48

ASP

2009-06-12 18:30:12

Groovy 靜態(tài)ma

2009-07-21 13:43:53

ASP和JSP比較

2009-12-01 14:33:06

PHP生成html文件

2012-02-23 10:32:19

HTML 5
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91免费福利视频 | 久久久妇女国产精品影视 | 国产一区三区在线 | 免费观看羞羞视频网站 | 操久久 | 二区国产 | 羞羞的视频免费在线观看 | 91大神在线看| 91成人午夜性a一级毛片 | 欧美1区2区 | av日韩精品 | 国产精品高潮呻吟久久av黑人 | 国产日韩欧美中文 | 伊人在线| 久久精品国产一区二区三区 | 欧美黄在线观看 | 九九视频在线观看视频6 | 久久99精品国产自在现线小黄鸭 | 精品91| 免费观看av网站 | 亚洲成人一区二区三区 | 91www在线观看| 雨宫琴音一区二区在线 | 夜色www国产精品资源站 | 91亚洲视频在线 | 岛国av免费在线观看 | 日韩中文字幕在线视频观看 | 一区二区三区成人 | 日韩国产一区二区三区 | 久久国产精品免费 | 久久婷婷香蕉热狠狠综合 | 91精品国产欧美一区二区 | 九九热热九九 | 日一区二区 | 免费观看黄色一级片 | av男人天堂影院 | 亚洲欧洲综合av | 涩涩操 | 日本91av视频 | 亚洲天堂免费在线 | 99热精品在线 |