亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ASP生成靜態(tài)網(wǎng)頁(yè)技術(shù)的實(shí)現(xiàn)

        2014-09-17 02:08:08劉繼良
        電腦知識(shí)與技術(shù) 2014年22期

        劉繼良

        摘要:闡述了網(wǎng)站靜態(tài)化的好處,介紹如何利用ASP、FSO和XMLHTTP生成靜態(tài)網(wǎng)頁(yè)的方法,利用該方法可以方便地創(chuàng)建靜態(tài)網(wǎng)站。

        關(guān)鍵詞:ASP;靜態(tài)網(wǎng)頁(yè);ADODB.Stream

        中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)22-5195-03

        當(dāng)今大型網(wǎng)站頁(yè)面都改用了靜態(tài)的頁(yè)面,這是因?yàn)殪o態(tài)頁(yè)面可以提高瀏覽速度,減輕服務(wù)器的負(fù)擔(dān),方便搜索引擎收錄,網(wǎng)站更安全,靜態(tài)頁(yè)面從理論上講是沒有攻擊漏洞的,基于以上的好處所以現(xiàn)在知名、主流的大站基本上都靜下來(lái)了。

        ASP(Active Server Pages)是 Web 的服務(wù)器端腳本編寫環(huán)境,也是絕大多數(shù)從事網(wǎng)站開發(fā)人員很熟悉的編程環(huán)境。如何用asp生成靜態(tài)網(wǎng)頁(yè)一般有兩種方法:1使用FSO生成,2使用XMLHTTP生成。下面將綜合這兩種方法來(lái)實(shí)現(xiàn)靜態(tài)頁(yè)的生成。

        1 ASP生成靜態(tài)頁(yè)的方法

        我們用標(biāo)簽替換的方法生成靜態(tài)網(wǎng)頁(yè),做一個(gè)模版頁(yè)mb.asp,生成靜態(tài)頁(yè)的時(shí)候直接把需要變化的部分的標(biāo)簽替換掉就行了。此例中我們把模板頁(yè)mb.asp設(shè)置兩個(gè)標(biāo)簽%title%和%content%。模板頁(yè)可以是靜態(tài)頁(yè)也可以是動(dòng)態(tài)頁(yè),但出于實(shí)際應(yīng)用的方便我們用動(dòng)態(tài)頁(yè)做為模板頁(yè)。靜態(tài)網(wǎng)頁(yè)執(zhí)行頁(yè)面為do.asp里面是具體生成靜態(tài)頁(yè)的代碼。

        2 程序中用到相關(guān)技術(shù)的方法和屬性

        1) Request.ServerVariables

        Request.ServerVariables("Server_Name") 服務(wù)器的主機(jī)名、DNS地址或IP地址

        Request.ServerVariables("Server_Port") 接受請(qǐng)求的服務(wù)器端口號(hào)

        Request.ServerVariables("Path_Info") 客戶端提供的路徑信息

        2) ADODB.Stream對(duì)象

        mode 讀寫模式,可選值:1-讀,2-寫,3-讀寫

        type 數(shù)據(jù)類型,可選值:1-二進(jìn)制,2-文本

        charset 編碼方式,可選值:utf-8,gb2312

        position 數(shù)據(jù)流位置,表示數(shù)據(jù)操作從這里開始,第一個(gè)位置的值為 0,不是 1。

        size 數(shù)據(jù)流大?。ㄗ止?jié))

        LoadFromFile 從文件讀取數(shù)據(jù)到 Stream 對(duì)象,Stream 對(duì)象原有內(nèi)容將被清空

        SaveToFile 將 Stream 對(duì)象數(shù)據(jù)保存為文件,第二個(gè)參數(shù):1-不允許覆蓋,2-覆蓋寫入

        Open 打開數(shù)據(jù)流

        Close 關(guān)閉數(shù)據(jù)流

        Read([長(zhǎng)度]) 從 Stream 對(duì)象中讀取二進(jìn)制數(shù)據(jù),不指定長(zhǎng)度表示全部讀取

        ReadText([長(zhǎng)度])從 Stream 對(duì)象中讀取文本數(shù)據(jù),不指定長(zhǎng)度表示全部讀取

        Write(buffer) 將緩存數(shù)據(jù)寫入 Stream 對(duì)象

        WriteText(data, [option]) 將文本數(shù)據(jù)寫入 Stream 對(duì)象,第二個(gè)參數(shù):0-字符寫入,1-行寫入

        CopyTo(destStream, count) 將 Stream 對(duì)象的指定數(shù)據(jù)拷貝到 destStream

        3) MSXML2.XMLHTTP對(duì)象

        Open( bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword )

        bstrMethod: 數(shù)據(jù)傳送方式,即GET或POST。

        bstrUrl: 服務(wù)網(wǎng)頁(yè)的URL。

        varAsync: 是否同步執(zhí)行。缺省為True,即同步執(zhí)行,但只能在DOM中實(shí)施同步執(zhí)行。用中一般將其置為False,即異步執(zhí)行。

        bstrUser: 用戶名,可省略。

        bstrPassword:用戶口令,可省略。

        Send( varBody )

        varBody:指令集??梢允荴ML格式數(shù)據(jù),也可以是字符串,流,或者一個(gè)無(wú)符號(hào)整數(shù)數(shù)組。也可以省略,讓指令通過Open方法的URL參數(shù)代入。

        readyState 返回當(dāng)前請(qǐng)求的狀態(tài),只讀.

        3 生成靜態(tài)頁(yè)的主要代碼

        <%

        ‘函數(shù)部分

        Function GetPageUrlPath()‘獲取網(wǎng)站服務(wù)器地址函數(shù)

        SERVER_NAME = Request.ServerVariables("SERVER_NAME")

        SERVER_PORT = Request.ServerVariables("SERVER_PORT")

        PATH_INFO = Request.ServerVariables("PATH_INFO")

        PATH_TMP = Split(PATH_INFO,"/")

        PATH_INFO = Replace(PATH_INFO,PATH_TMP(Ubound(PATH_TMP)),"")

        URL = "http://" & SERVER_NAME

        If SERVER_PORT<>80 Then URL = URL & ":" & SERVER_PORT

        URL = URL & PATH_INFO

        GetPageUrlPath = URL

        End Function

        function getHTTPPage(url) ‘獲取發(fā)送請(qǐng)求網(wǎng)頁(yè)內(nèi)容的函數(shù)

        dim Http

        set Http=server.createobject("MSXML2.XMLHTTP")

        Http.open "GET",url,false ‘設(shè)定向目標(biāo)網(wǎng)頁(yè)發(fā)送請(qǐng)求的方式

        Http.send()

        if Http.readystate<>4 then

        exit function

        end if

        getHTTPPage=bytesToBSTR(Http.responseBody,"utf-8") ‘對(duì)獲取的內(nèi)容轉(zhuǎn)碼

        set http=nothing

        if err.number<>0 then err.Clear

        end function

        Function BytesToBstr(body,Cset) ‘轉(zhuǎn)換編碼函數(shù)

        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

        function creatfile(filePath,nr)‘創(chuàng)建文件函數(shù)

        Set objStream = Server.CreateObject("ADODB.Stream")

        objStream.Type = 2

        objStream.Mode = 3

        objStream.Open

        objStream.Charset = "utf-8"

        objStream.Position = objStream.Size

        objStream.WriteText=nr

        objStream.SaveToFile filePath,2

        objStream.Close

        Set objStream = Nothing

        end function

        '代碼部分

        SiteUrl = GetPageUrlPath() 獲取服務(wù)器地址

        PageURL=SiteUrl & "mb.asp?time="&now() 得到模板頁(yè)網(wǎng)址

        ReplaceContent = getHTTPPage(PageURL) 取得模板頁(yè)內(nèi)容

        title="這是標(biāo)題"

        content="這是內(nèi)容"

        ReplaceContent= replace(ReplaceContent,"%title%",title) 替換標(biāo)簽

        ReplaceContent = replace(ReplaceContent,"%content%",content)

        pagename=server.mappath("a.html") 要生成靜態(tài)頁(yè)的名字

        call creatfile(pagename,ReplaceContent) 調(diào)用函數(shù)創(chuàng)建靜態(tài)網(wǎng)頁(yè)

        response.Write "生成文件成功"

        4 結(jié)束語(yǔ)

        程序執(zhí)行的結(jié)果是在網(wǎng)站的根目錄下生成了一個(gè)a.html的網(wǎng)頁(yè),通過這個(gè)例子我們可以將動(dòng)態(tài)網(wǎng)站的首頁(yè)、列表頁(yè)和文章頁(yè)都變成靜態(tài)頁(yè)從而使網(wǎng)站更安全高效地運(yùn)行。

        參考文獻(xiàn):

        [1] 尚俊杰.網(wǎng)絡(luò)程序設(shè)計(jì):ASP[M].北京:清華大學(xué)出版社,北京交通大學(xué)出版社,2009.

        [2] 廖福保.基于ASP無(wú)組件圖片上傳技術(shù)的研究[J].微計(jì)算機(jī)應(yīng)用,2006(1).

        国产在线视频一区二区天美蜜桃 | 亚洲精品www久久久| 日产无人区一线二线三线乱码蘑菇| 欧美人与动牲猛交xxxxbbbb| 久久精品国产亚洲一区二区| 日韩国产精品一区二区Hd| 中文无码久久精品| 五月天欧美精品在线观看| 亚洲a人片在线观看网址| 日本一区二区三区四区在线看| 国产一区二区美女主播| 免费观看人妻av网站| 99久久99久久精品国产片| 国产精品av在线| 久久久久人妻精品一区蜜桃| 夜夜综合网| 成人一区二区三区蜜桃| 亚洲色图偷拍自拍在线| 亚洲国产精品18久久久久久 | 亚洲精品国偷拍自产在线麻豆| 正在播放国产对白孕妇作爱| 五月综合高清综合网| 久久亚洲精彩无码天堂 | 国产白浆精品一区二区三区| 中文字幕色资源在线视频| 国产青青草在线观看视频| 午夜免费福利小电影| 最新亚洲人成无码网站| 伊人婷婷色香五月综合缴激情| 天堂av在线免费播放| 男人的天堂手机版av| 人人妻人人澡人人爽国产一区| 精品少妇爆乳无码av无码专区| 国产精品成人av在线观看| 婷婷激情六月| 国产3p一区二区三区精品| 好吊妞无缓冲视频观看| 蜜臀aⅴ国产精品久久久国产老师| 国产一区二区三区啪| 亚洲一区二区三在线播放| 免费视频亚洲一区二区三区|