當前位置:編程學習大全網 - 編程語言 - ASP設計常見問題及解答精要

ASP設計常見問題及解答精要

作為微軟推出的網頁與數據庫解決方案,ASP由於有微軟得天獨厚的操作系統等技術後盾支持,因此得到了迅速的發展,並且正受到越來越多的歡迎,在目前在電子商務網站的建設中有很多都使用ASP來編寫程序。

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

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

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

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

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

3、問題:如何使用6個內置ASP對象?

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

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

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

答:Response.Redirect可以將網頁轉移至另外的網頁上,使用的語法結構是這樣的:Response.Redirect網址,其中網址可以是相對地址或絕對地址,但在IIS4.0使用與在IIS5.0使用有所不同。

在IIS4.0轉移網頁須在任何數據都未輸出至客戶端瀏覽器之前進行,否則會發生錯誤。這裏所謂的數據包括HTML的卷標,例如: HTML, BODY等,而在IIS5.0中已有所改進,在IIS5.0的默認情況下緩沖區是開啟的,這樣的錯誤不再產生。

在Response對象中有壹Buffer屬性,該屬性可以設置網站在處理ASP之後是否馬上將數據傳送到客戶端,但設置該屬性也必須在傳送任何數據給客戶端之前。

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

5、問題:緩沖輸出對於網頁傳輸有沒有影響?

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

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

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

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

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

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

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

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

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

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

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

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

雖然在ASP中引入文件以inc作為擴展名,在這裏仍建議以ASP作為引文件的擴展名。當這些代碼在安全機制不好的Web Server上運行時,只需在地址欄上輸入引入文件的地址(inc為擴展名),就可以瀏覽該引入文件的內容,這是由於在Web Server上,如果沒有定義好解析某類型(比如inc)的動態連接庫時,該文件以源碼方式顯示。

另外,不要把數據庫文件放在網站結構內部,這樣,當惡意人士獲取數據庫路徑後,就可以輕易獲取該數據庫,進而肆意更改數據庫內容。比較好的做法是,為數據庫建立數據源名稱DSN(Date Source Name),在DSN中存儲了有關連接到指定數據提供者的信息,包括:“數據庫的物理位置,用於訪問數據庫的驅動程序的類型,訪問數據庫的驅動程序所需要的任何其他參數”,在進行數據庫訪問時可以直接訪問該DSN。

11、問題:評介Web數據庫管理系統時,應該考慮哪些問題?

答:在評價壹個Web數據庫管理系統時,必須考慮到三方面的問題:多用戶問題;所建立的Web數據庫應該是關系型的;數據庫的安全性問題。

12、問題:ADO是什麽,它是如何操作數據庫的?

答:ADO的全名是ActiveX Data Object(ActiveX數據對象),是壹組優化的訪問數據庫的專用對象集,它為ASP提供了完整的站點數據庫解決方案,它作用在服務器端,提供含有數據庫信息的主頁內容,通過執行SQL命令,讓用戶在瀏覽器畫面中輸入,更新和刪除站點數據庫的信息。

ADO主要包括Connection,Recordset和Command三個對象, 它們的主要功能如下:

·Connection對象:負責打開或連接數據庫文件;

·Recordset對象:存取數據庫的內容;

·Command對象:對數據庫下達行動查詢指令,以及執行SQL Server的存儲過程。

13、問題:使用Recordset對象和Command對象來訪問數據庫的區別在哪裏?

答:Recordset對象會要求數據庫傳送所有的數據,那麽數據量很大的時候就會造成網絡的阻塞和數據庫服務器的負荷過重,因此整體的執行效率會降低。

利用Command對象直接調用SQL語句,所執行的操作是在數據庫服務器中進行的,顯然會有很高的執行效率。特別是在服務器端執行創建完成的存儲過程,可以降低網絡流量,另外,由於事先進行了語法分析,可以提高整體的執行效率。

14、問題:是否必須為每壹個Recordset對象創建壹個Connection對象?

答:可以同時對不同的Recordset對象使用相同的Connection對象,以節省資源。

15、問題:什麽是數據庫管理系統(DBMS)?

答:數據庫為了保證存儲在其中的數據的安全和壹致,必須有壹組軟件來完成相應的管理任務,這組軟件就是數據庫管理系統,簡稱DBMS,DBMS隨系統的不同而不同,但是壹般來說,它應該包括以下幾方面的內容:

數據庫描述功能:定義數據庫的全局邏輯結構,局部邏輯結構和其他各種數據庫對象;

數據庫管理功能:包括系統配置與管理,數據存取與更新管理,數據完整性管理和數據安全性管理;

數據庫的查詢和操縱功能:該功能包括數據庫檢索和修改;

數據庫維護功能:包括數據引入引出管理,數據庫結構維護,數據恢復功能和性能監測。

為了提高數據庫系統的開發效率,現代數據庫系統除了DBMS之外,還提供了各種支持應用開發的工具。

16、問題:當前流行的WEB數據庫管理系統有哪些?

答:當前流行的Web數據庫管理系統有微軟的SQL Server、Oracle、DB2、Sybase,小規模的企業多使用Access。

  • 上一篇:《機器人9號》觀後感400字
  • 下一篇:如何用C語言實現大數的計算
  • copyright 2024編程學習大全網