亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >ASP設(shè)計常見問題及解答精要 創(chuàng)建者:webmaster 更新時間:2005-07-02 00:14

    作為微軟推出的網(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 2000 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)以下錯誤:“標(biāo)題錯誤,已將HTTP標(biāo)題寫入用戶端瀏覽器,對任何HTTP的標(biāo)題所作的修改必須在寫入頁內(nèi)容之前”?

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


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

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

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

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

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

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

      另外,不要把數(shù)據(jù)庫文件放在網(wǎng)站結(jié)構(gòu)內(nèi)部,這樣,當(dāng)惡意人士獲取數(shù)據(jù)庫路徑后,就可以輕易獲取該數(shù)據(jù)庫,進(jìn)而肆意更改數(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ù)”,在進(jìn)行數(shù)據(jù)庫訪問時可以直接訪問該DSN。

      11、問題:評介Web數(shù)據(jù)庫管理系統(tǒng)時,應(yīng)該考慮哪些問題?

      答:在評價一個Web數(shù)據(jù)庫管理系統(tǒng)時,必須考慮到三方面的問題:多用戶問題;所建立的Web數(shù)據(jù)庫應(yīng)該是關(guān)系型的;數(shù)據(jù)庫的安全性問題。


     17、問題:在ASP中使用ADO的AddNew方法和直接使用“Insert into...”語句有何不同?哪種方式更好?

      答:ADO的AddNew方法只是將“Insert into ”語句封裝了起來,所以,當(dāng)對大量數(shù)據(jù)進(jìn)行操作的時候,直接使用SQL語句將會大大加快存取數(shù)據(jù)的速度,因為它減少了ADO的“翻譯”時間,由于SQL語句所執(zhí)行的操作是直接在數(shù)據(jù)庫服務(wù)器中進(jìn)行的,尤其在數(shù)據(jù)量很大的時候有顯著的優(yōu)勢。

      18、問題:為什么我在ASP中使用標(biāo)準(zhǔn)的插入記錄語句 insert into books(name,email) values(“kitty”, “kitty@263.com”)會出錯?

      答:SQL(Structured Query Language/結(jié)構(gòu)式查詢語言)是IBM公司在1970年代所發(fā)展出來的數(shù)據(jù)查詢語言,它現(xiàn)在已經(jīng)成為關(guān)系型數(shù)據(jù)庫查詢語言的標(biāo)準(zhǔn)。SQL語句是一種以英文為基礎(chǔ)的程序語言,可以使用它來添加,管理以及存取數(shù)據(jù)庫。

      在SQL語句中添加時的字符串雖然可以使用雙引號,但在ASP中卻需要使用單引號才能正常執(zhí)行。所以應(yīng)當(dāng)寫成insert into books(name,email) values(‘kitty’,‘kitty@263.com’)。

      19、問題:什么是ActiveX 控件? 在哪里可以得到這些ActiveX控件?

      答:Microsoft ActiveX控件是由軟件提供商開發(fā)的可重用的軟件組件。除了ASP的內(nèi)嵌對象外,另外安裝進(jìn)來的ActiveX控件也可以在ASP中使用,這樣可以節(jié)省許多寶貴的開發(fā)時間,在ASP中其實也內(nèi)嵌了很多的ActiveX控件可以使用。

      使用ActiveX控件,可以很快地Web應(yīng)用程序、以及開發(fā)工具中加入特殊的功能。例如,使用AdRotator對象來制作廣告滾動板,使用FileSystemObject對象進(jìn)行文件存取,使用Marquee對象實現(xiàn)滾動文字。

      現(xiàn)在,已有1000多個商用的ActiveX控件,開發(fā)ActiveX控件可以使用各種編程語言,如C,C++等,以及微軟公司的 Visual Java開發(fā)環(huán)境Microsoft Visual J++。 ActiveX控件一旦被開發(fā)出來,設(shè)計和開發(fā)人員就可以把它當(dāng)作預(yù)裝配組件,用于開發(fā)客戶程序。以此種方式使用 ActiveX控件,使用者無需知道這些組件是如何開發(fā)的,在很多情況下,甚至不需要自己編程,就可以完成網(wǎng)頁或應(yīng)用程序的設(shè)計。

      目前由第三方軟件開發(fā)商提供的商用控件有1000多種。微軟ActiveX組件庫(ActiveX Component Gallery)中存著有關(guān)信息以及相關(guān)的連接,它們指向微軟及第三方開發(fā)商提供的各種 ActiveX 控件。在微軟ActiveX組件庫(ActiveX Component Gallery)中,可以找到開發(fā)Internet增強型ActiveX 控件的公司列表。






     答:Request對象除了可以用來讀取附帶在網(wǎng)址后面的參數(shù)以外,也可以讀取HTML表單字段的內(nèi)容,經(jīng)常使用的語法結(jié)構(gòu)如下:

      < Form name =Formname method=“Get|Post”Action=“URL”>< Form >
    其中的method可以接受Get或Post兩種傳輸?shù)姆椒ǎ渲械腜ost是允許傳輸大量數(shù)據(jù)的方法,而Get方法會將所要傳輸?shù)臄?shù)據(jù)附在網(wǎng)址后面,然后一起送達(dá)服務(wù)器,因此傳送的數(shù)據(jù)量就會受到限制,但是執(zhí)行效率卻比Post方法好。

      使用Get或Post方法都可以將數(shù)據(jù)送至服務(wù)器,使用Request對象接收數(shù)據(jù)的相對應(yīng)方法如下:

      Get:Request.QueryString(“字段名稱”),也可以寫成Request (“字段名稱”)
      Post:Request.Form (“字段名稱”),也可以寫成Request (“字段名稱”)

      24、問題:如何提高使用Request集合的效率?

      答:在使用Request集合時,由于包含了一系列對相關(guān)集合的搜索,這比訪問一個局部變量要慢得多。因此,如果打算在頁面中多次使用Request集合中的一個值,應(yīng)該考慮將其存貯為一個局部變量。

      25、問題:在ASP頁面中既可以使用VBScript,也可以使用Jscript,混合使用腳本引擎好嗎?

      答:雖然在ASP頁面中既可以使用VBScript,也可以使用JScript。但是在同一個頁面上同時使用JScript和VBScript則是不可取的。因為服務(wù)器必須實例化并嘗試緩存兩個(而不是一個)腳本引擎,這在一定程度上增加了系統(tǒng)負(fù)擔(dān)。因此,從性能上考慮,不應(yīng)在同一頁面中混用多種腳本引擎。

    相關(guān)文章
    本頁查看次數(shù):