国产毛片午夜福利,国产黄网,国产亚洲天堂,97国产精品

  •  
    入門教程:ASP設(shè)計常見問題及解答精要
    發(fā)布時間:2008-05-12   瀏覽次數(shù):1183425

    入門教程:ASP設(shè)計常見問題及解答精要

    作為微軟推出的網(wǎng)頁與數(shù)據(jù)庫解決方案,ASP由于有微軟得天獨厚的操作系統(tǒng)等技術(shù)后盾支持,因此得到了迅速的發(fā)展,并且正受到越來越多的歡迎,在目前在電子商務(wù)網(wǎng)站的建設(shè)中有很多都使用ASP來編寫程序。

      近來有很多的讀者向我們咨詢學(xué)習(xí)ASP的方法和在學(xué)習(xí)中遇到的一些問題,其中有一些是初學(xué)者經(jīng)常遇到和面臨的問題。為了讓讀者在學(xué)習(xí)ASP的過程中加深對ASP的了解,并能夠有效地解決遇到的問題,我們特別收集了比較有代表性的一些問題,在此列舉出來并一一給予解答,希望能在這有限的篇幅里為你學(xué)習(xí)ASP助一臂之力。

      1、問題:ASP是一種編程語言嗎?

      答:ASP不是編程語言,而是一種開發(fā)環(huán)境。ASP提供了一個在服務(wù)器端執(zhí)行指令的環(huán)境,它利用了特殊的符號()來區(qū)分HTML與必須經(jīng)過服務(wù)器翻譯才能送往客戶端的命令。它可以執(zhí)行的指令包括HTML語言,Microsoft VBScript和Microsoft Jscript等,因此可以制作出功能強大的Web應(yīng)用程序。

      2、問題:在Web服務(wù)器上容納多個Web站點,能使用PWS嗎?

      答:在PWS上只能容納一個Web站點。為了在相同的計算機上容納多個Web站點,需要使用Windows NT Server或Windows 00 Server/Professional和IIS。

      3、問題:如何使用6個內(nèi)置ASP對象?

      答:ASP提供了多個內(nèi)嵌對象,無須建立可以在指令中直接訪問和使用它們,這六個對象主要有:請求(Request)對象、響應(yīng) (Response)對象、工作階段(Session)對象、應(yīng)用程序(Application)對象、服務(wù)器(Server)對象、Cookies對象,這六個對象中的服務(wù)器(Server)對象可加載其他組件,這可以擴展ASP的功能。

      使用Server.CreateObject所建立的對象,它的生命周期在它建立時開始,在它所在的網(wǎng)頁程序結(jié)束時結(jié)束。如果想要讓該對象跨網(wǎng)頁使用,則可以用Session對象來記錄Server.CreateObject所建立的對象。

      4、問題:為什么在使用Response.Redirect的時候出現(xiàn)以下錯誤:“標題錯誤,已將HTTP標題寫入用戶端瀏覽器,對任何HTTP的標題所作的修改必須在寫入頁內(nèi)容之前”?

      答:Response.Redirect可以將網(wǎng)頁轉(zhuǎn)移至另外的網(wǎng)頁上,使用的語法結(jié)構(gòu)是這樣的:Response.Redirect網(wǎng)址,其中網(wǎng)址可以是相對地址或地址,但在IIS4.0使用與在IIS5.0使用有所不同。

      在IIS4.0轉(zhuǎn)移網(wǎng)頁須在任何數(shù)據(jù)都未輸出至客戶端瀏覽器之前進行,否則會發(fā)生錯誤。這里所謂的數(shù)據(jù)包括HTML的卷標,例如:< HTML>,< BODY>等,而在IIS5.0中已有所改進,在IIS5.0的默認情況下緩沖區(qū)是開啟的,這樣的錯誤不再產(chǎn)生。

      在Response對象中有一Buffer屬性,該屬性可以設(shè)置網(wǎng)站在處理ASP之后是否馬上將數(shù)據(jù)傳送到客戶端,但設(shè)置該屬性也必須在傳送任何數(shù)據(jù)給客戶端之前。

      為保險起見,無論采用何種ASP運行平臺,在頁面的開始寫上< % Response.Buffer=True %>,將緩沖區(qū)設(shè)置為開啟,這樣的錯誤不會發(fā)生了。

      5、問題:緩沖輸出對于網(wǎng)頁傳輸有沒有影響?

      答:在比較大的Web頁中,部分在瀏覽器中出現(xiàn)可能會有一些延遲,但是加載整個Web頁的速度比不用緩沖要快。

      6、問題:在沒有表單提交時查詢字符串的值是否可以使用Request.QueryString集合?

      答:Request對象用于讀取瀏覽器的數(shù)據(jù),它除了可以讀取表單字段的內(nèi)容,還可以用來讀取附帶在網(wǎng)址后面的參數(shù),無論請求字符串怎樣添加到鏈接地址中對Request來說都沒有什么不同。使用get方法提交一個表單,還是跟隨一個附加查詢串的鏈接查詢字符串中所有的值,都可以使用 Request.QueryString集合。

      7、問題:我在ASP腳本中寫了很多的注釋,這會不會影響服務(wù)器處理ASP文件的速度?

      答:在編寫程序的過程中,作注釋是良好的習(xí)慣。經(jīng)國外技術(shù)人員測試,帶有過多注釋的ASP文件整體性能僅僅會下降0.1%,也是說在實際應(yīng)用中基本上不會感覺到服務(wù)器的性能下降的。

      8、問題:需不需要在每個ASP文件的開頭使用< % @LANGUAGE=VBScript % >?

      答:在每個ASP文件的開頭使用< % @LANGUAGE=VBScript %>代碼是用來通知服務(wù)器現(xiàn)在使用VBScript來編寫程序,但因為ASP的預(yù)設(shè)程序語言是VBScript,因此忽略這樣代碼也可以正常運行,但如果程序的腳本語言是JavaScrip,需要在程序行指明所用的腳本語言。

      9、問題:我有沒有必要在每一個ASP文件中使用“Option Explicit”?

      答:在實際應(yīng)用中,VBScript變量的概念已經(jīng)模糊了,允許直接使用變量,而不用Dim聲明變量,但這并不是一個好習(xí)慣,容易造成程序錯誤,因為可能重復(fù)定義一個變量。我們可以在程序中使用Option Explicit語句,這樣在使用一個變量的時候,必須先聲明它,如果使用了沒有經(jīng)過聲明的變量,運行時,程序會出錯。

      實踐證明,ASP文件中使用“Option Explicit”可以使得程序出錯機會降到最少,并且會大大提升整體性能。

      10、問題:運行ASP文件時有什么措施?

      答:ASP提供了很好的代碼保護機制,所有的ASP代碼都在服務(wù)器端執(zhí)行而只返回給客戶端代碼執(zhí)行結(jié)果。但仍不排除惡意人士對Web服務(wù)器的刻意破壞,所以在編寫ASP文件時更要注意問題。

      雖然在ASP中引入文件以inc作為擴展名,在這里仍建議以ASP作為引文件的擴展名。當這些代碼在機制不好的Web Server上運行時,只需在地址欄上輸入引入文件的地址(inc為擴展名),可以瀏覽該引入文件的內(nèi)容,這是由于在Web Server上,如果沒有定義好解析某類型(比如inc)的動態(tài)連接庫時,該文件以源碼方式顯示。
    另外,不要把數(shù)據(jù)庫文件放在網(wǎng)站結(jié)構(gòu)內(nèi)部,這樣,當惡意人士獲取數(shù)據(jù)庫路徑后,可以輕易獲取該數(shù)據(jù)庫,進而肆意更改數(shù)據(jù)庫內(nèi)容。比較好的做法是,為數(shù)據(jù)庫建立數(shù)據(jù)源名稱DSN(Date Source Name),在DSN中存儲了有關(guān)連接到指定數(shù)據(jù)提供者的信息,包括:“數(shù)據(jù)庫的物理位置,用于訪問數(shù)據(jù)庫的驅(qū)動程序的類型,訪問數(shù)據(jù)庫的驅(qū)動程序所需要的任何其他參數(shù)”,在進行數(shù)據(jù)庫訪問時可以直接訪問該DSN。

    立即預(yù)約