免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

ASP生成靜態HTML文件方法哪個好

這篇文章主要介紹了ASP生成靜態HTML文件方法哪個好,具有一定借鑒價值,需要的朋友可以參考下。下面就和我一起來看看吧。

成都創新互聯公司是專業的宣漢網站建設公司,宣漢接單;提供做網站、成都做網站,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行宣漢網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

ASP中,將動態頁面轉換生成靜態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 webjx.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組件進行轉換

<%  nction 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讀取生成一次即可。

以上就是ASP生成靜態HTML文件方法哪個好的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎來創新互聯行業資訊!

分享標題:ASP生成靜態HTML文件方法哪個好
當前地址:http://m.newbst.com/article28/gsosjp.html

成都網站建設公司_創新互聯,為您提供企業網站制作網站營銷網站收錄ChatGPT企業建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司