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

ASP開發之生成靜態HTML文件的方法比較

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

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

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

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

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

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

以下為引用的內容:

 

  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內容: " & request.form("title") & "<br /> 
  8. 輸出Body內容:" & 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文件非常不方便,第二種方法就是利用模板技術,將模板中特殊代碼的值替換為從表單或是數據庫字段中接受過來的值,完成模板功能,將最終替換過的所有模板代碼生成HTML文件。這種技術采用得比較多,大部分的CMS都是使用這類方法。

以下為引用的內容:

 

  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. '// 創建文件系統對象   
  15. Set fso=Server.CreateObject("Scripting.FileSystemObject")   
  16. '// 打開網頁模板文件,讀取模板內容   
  17. Set htmlwrite=fso.OpenTextFile(Server.MapPath("Template.htm"))   
  18. strOut=f.ReadAll   
  19. htmlwrite.close   
  20. strTitle="生成的網頁標題"   
  21. strContent="生成的網頁內容"   
  22. '// 用真實內容替換模板中的標記   
  23. strOut=Replace(strOut,"$title$",strTitle)   
  24. strOut=Replace(strOut,"$body$",strContent)   
  25. '// 創建要生成的靜態頁   
  26. Set htmlwrite=fso.CreateTextFile(Server.MapPath("test.htm"),true)   
  27. '// 寫入網頁內容   
  28. htmlwrite.WriteLine strOut   
  29. htmlwrite.close   
  30. Response.Write "生成靜態頁成功!"   
  31. '// 釋放文件系統對象   
  32. set htmlwrite=Nothing   
  33. set fso=Nothing   
  34. %> 

 

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

以下為引用的內容:

常用函數:

1、輸入url目標網頁地址,返回值getHTTPPage是目標網頁的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、轉換亂瑪,直接用xmlhttp調用有中文字符的網頁得到的將是亂瑪,可以通過adodb.stream組件進行轉換

  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("靜態網頁生成完畢");   
  26. history.back();   
  27. </script>  

 

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

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

【編輯推薦】

  1. 利用ASP和SQL Server構建網頁防火墻
  2. ASP新手之常用錯誤處理解析
  3. 分享ASP網頁開發過程中的小技巧
  4. 經驗分享之ASP動態網頁制作技術
  5. ASP新手之常用ASP內置函數大總結
責任編輯:于鐵 來源: 互聯網
相關推薦

2009-08-28 12:41:49

靜態方法與非靜態方法

2009-08-24 18:00:52

ASP.NET模板生成

2009-07-29 15:58:54

靜態文件處理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靜態頁面

2009-07-24 10:53:51

ASP.NET實現靜態

2014-10-22 10:46:03

ViewportHTML

2011-09-06 14:08:22

IIS

2011-06-15 17:09:43

PHP頁面靜態化

2009-09-04 13:11:25

ASP.NET生成XM

2014-02-19 09:59:52

iOS開發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控件開發ASP.NET服務器控

2009-07-21 13:43:53

ASP和JSP比較

2009-06-12 18:30:12

Groovy 靜態ma

2011-05-19 08:38:48

ASP

2012-02-23 10:32:19

HTML 5

2009-12-01 14:33:06

PHP生成html文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久成人精品亚洲国产 | 久久久久久蜜桃一区二区 | 欧美电影一区 | 蜜桃av一区二区三区 | 欧美一区二区三区 | 国产欧美一区二区三区日本久久久 | 欧美精品片 | 在线一区 | 九九色综合| 久久这里有精品 | 久久久久九九九女人毛片 | 久久久久国产精品免费免费搜索 | 欧美日韩一区二区视频在线观看 | 国产精品91久久久久久 | 亚洲精品视频二区 | 伊人伊人伊人 | 亚洲国产一区二区三区在线观看 | 中文字幕在线一 | 成人av免费播放 | 欧美日韩精品一区二区三区四区 | 欧美高清性xxxxhdvideosex | 天堂成人国产精品一区 | www.天天操.com | 一级黄在线观看 | 日韩精品一区二区三区中文字幕 | 欧美网址在线观看 | av黄色免费在线观看 | 日韩中文字幕一区二区 | 亚洲91| 亚洲二区在线观看 | 中国黄色毛片视频 | 日韩高清中文字幕 | 欧美成人激情视频 | 国产乱码精品一区二区三区忘忧草 | 久草福利| 91精品国产一区二区三区 | 欧美亚洲免费 | 一区二区三区四区av | 视频一区二区中文字幕日韩 | 久久久久久网站 | 日韩不卡在线观看 |