您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>asp源碼下載>

ASP常見問題全集

大?。?/span>170 人氣: 2010-02-10 需要積分:0
鳳毛麟角的空間

用戶級(jí)別:注冊(cè)會(huì)員

貢獻(xiàn)文章:

貢獻(xiàn)資料:

ASP常見問題全集

http://www.ttokpm.com/images/chaijie_default.pngnbsp;如何保護(hù)自己的ASP源代碼不泄露?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:下載微軟的windows script encoder,對(duì)ASP的腳本和客戶端javascript、vbscript腳本進(jìn)行加密。客戶端腳本加密后,只有ie5以上的版本才能執(zhí)行,服務(wù)器端腳本加密后,只有服務(wù)器上安裝有script engine 5(裝ie5即可)才能解釋執(zhí)行。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 為什么global.asa文件總是不起作用?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:只有把global.asa文件放在web發(fā)布目錄某個(gè)站點(diǎn)的根目錄下它才有效,放在發(fā)布目錄的某個(gè)子目錄下不起作用。另外,也可以使用iis4的internet service manager把某個(gè)子目錄設(shè)置為站點(diǎn)。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 為什么ASP文件總不解釋執(zhí)行?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:在iis服務(wù)器上沒有給ASP文件以腳本解釋的權(quán)限,所以ASP文件沒有被web服務(wù)器作為腳本代碼進(jìn)行解釋執(zhí)行,而被當(dāng)成一般頁(yè)面文件了。建議在web發(fā)布目錄中建立一個(gè)ASP目錄,把所有ASP文件存放在此目錄下,把ASP目錄賦予腳本解釋權(quán)限。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; ASP文件中使用response.redirect(url)時(shí)導(dǎo)致錯(cuò)誤“the http headers are already written to the client browser. any http header modifications must be made before writing page content”,請(qǐng)問如何解決?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:此錯(cuò)誤為http標(biāo)題在寫入頁(yè)內(nèi)容之后,寫到了客戶瀏覽器中。任何http標(biāo)題的修改必須在寫入頁(yè)內(nèi)容之前進(jìn)行,解決的方法為在ASP文件最開頭加入response.buffer = true,在文件的結(jié)尾加入response.flush。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 為什么session有時(shí)候會(huì)消失?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:session很像臨時(shí)的cookie,只是其信息保存在服務(wù)器上(客戶機(jī)上保存的是sessionid)。session變量消失有幾種可能,如:使用者的瀏覽器不接受cookie,因?yàn)閟ession依賴于cookie才能跟蹤用戶;session在一段時(shí)間后過期了,缺省為20分鐘,如果希望更改,可以通過設(shè)置microsoft management console的web directory→properties→virtual directory→application settings→configuration→app options→session timeout選項(xiàng)來改變session的超時(shí)時(shí)間,也可以在ASP腳本中設(shè)定,如session.timeout=60,可設(shè)定超時(shí)時(shí)間為60分鐘。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 怎樣才能知道訪問者的一些信息?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:通過request.servervariables("http—user—agent")獲得訪問者瀏覽器的類型;request.servervariables("remote—addr")可獲得訪問者的ip地址;而訪問者的語(yǔ)言環(huán)境可通過request.servervariables("http—accept—language")來獲得。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 怎樣才能將query string從一個(gè)ASP文件傳送到另一個(gè)ASP文件?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:前一個(gè)ASP文件加入下列代碼:response.redirect("second.ASP?"http://www.ttokpm.com/images/chaijie_default.pngamp;request.servervariables("query—string"))即可。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; ASP中如何控制cookies?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答: 若想寫入cookies可用:response.cookies("待寫入的coookies名稱")=待寫入數(shù)據(jù)。讀取cookies則使用:讀取數(shù)據(jù)=request.cookies("待讀的cookies名稱")。   注意,寫入cookies的response.cookies程序段必須放在〈html〉標(biāo)記之前,且不可以有任何的其它html代碼。另外,cookies中必須使用expires設(shè)定有效期,cookies才能真正地寫入客戶端硬盤中,否則只是臨時(shí)的。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 怎樣實(shí)現(xiàn)用ASP發(fā)送郵件?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答: 用戶需裝上windows nt option pack的smtp service功能。實(shí)現(xiàn)代碼如下:  〈%   set mail = server.createobject("cdonts.newmail")   mail.to ="abc@xxx.com"   mail.from ="yourmail@xxx.com"   mail.subject ="主題"   mail.body ="e-mail內(nèi)容"   mail.send   %〉

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; ASP與數(shù)據(jù)庫(kù)連接一定要在服務(wù)器端設(shè)置dsn嗎?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答: 不一定,ASP與服務(wù)器的數(shù)據(jù)庫(kù)連接有兩種方法,一種為通過dsn建立連接,另一種不用dsn建立連接。通過dsn連接數(shù)據(jù)庫(kù)需要服務(wù)器的系統(tǒng)管理員在服務(wù)器的控制面板中的odbc中設(shè)置一個(gè)dsn。如果沒有在服務(wù)器上設(shè)置dsn,只要知道數(shù)據(jù)庫(kù)文件名(比如access、paradox、foxpro的數(shù)據(jù)庫(kù))或者數(shù)據(jù)源名(如sqlserver的數(shù)據(jù)庫(kù))就可以訪問數(shù)據(jù)庫(kù),直接提供連接所需的參數(shù)即可。   連接代碼如下:  set conn=server.createobject("adodb.connection")   connpath="dbq="http://www.ttokpm.com/images/chaijie_default.pngamp;server.mappath("yourtable.mdb")   conn.open"driver={microsoft access driver (?.mdb)};"http://www.ttokpm.com/images/chaijie_default.pngamp;connpath   set rs=conn.execute("select?from authors")


http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 如何從一頁(yè)到另一頁(yè)傳遞變量?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:用hidden表單類型來傳遞變量。   〈form method="post"action="mynextpage.ASP"〉  〈% for each item in request.form %〉  〈input namee="〈%=item%〉"type="hidden"   value="〈%=server.htmlencode(request.form(item)) %〉"〉  〈% next %〉  〈/form〉   用session來保存變量。   〈%session("bh")= request.form ("bh")%〉   用querystring保存變量。   〈a herf="action.ASP?bh=10"〉查詢〈/a〉  〈%request. querystring ("bh")%〉

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 如何用ASP實(shí)現(xiàn)在線人數(shù)統(tǒng)計(jì)?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:在線人數(shù)是指一個(gè)時(shí)段內(nèi)的訪客人數(shù)統(tǒng)計(jì),時(shí)間的長(zhǎng)短是由設(shè)計(jì)者設(shè)定的。   在這個(gè)時(shí)段內(nèi),各個(gè)不同ip訪問本站點(diǎn)的總數(shù),就是當(dāng)前的線上人數(shù)。在ASP中,使用session對(duì)象來實(shí)現(xiàn)統(tǒng)計(jì),實(shí)現(xiàn)代碼如下:  golobal.asa文件   〈script language="vbscript"runat="server"〉  sub session—onstart   application("online")=application("online")+1   end sub   sub session—onend   application("online")=application("online")-1   end sub   sub application—onstard   application("online")=0   end sub   sub application—onend   application("online")=0   end sub   〈/script〉   online.ASP文件內(nèi)容   〈% tmp=application("online")   tmp=cstr(tmp)   dim disp(20)   dim images(20)   dbbits=len(tmp)   for i= 1 to dbbits   disp(i)=left(right(tmp,i),i-(i-1))   next   for i=dbbits to 1 step -1   images(i)="〈img src="http://www.ttokpm.com/images/chaijie_default.pngamp;"

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; ASP程序運(yùn)行的時(shí)間如何計(jì)算?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:確定ASP程序的執(zhí)行時(shí)間的代碼如下所示:   〈%   dim t1,t2   t1=now()   ′被
檢測(cè)的ASP代碼   t2=now()   response.write"運(yùn)行這段ASP代碼用了"http://www.ttokpm.com/images/chaijie_default.pngamp;cstr(cdbl((t2-t1)*24*60*60))http://www.ttokpm.com/images/chaijie_default.pngamp;"秒"   %〉

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; Excute后都需要返回一個(gè)RecordSet對(duì)象嗎?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答: 不是的,例如在表中刪除記錄。我們來看看下面的例子——在Employee表中刪除了Job_ID為1的記錄,并不需要再返回一個(gè)RecordSet: set conn= Server.CreateObject(“ADODB.Connection”) conn.ConnectionString=”driver={SQL Server};server=srv;”http://www.ttokpm.com/images/chaijie_default.pngamp;_ “uid=sa;pwd=;database=pubs” conn.open conn.Excute “Delect From Employee Where Job_ID=1;”,,adCmdText

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; Insert into與AddNew哪一個(gè)更好?在ASP中,直接使用“Insert into” 語(yǔ)句與使用ADO中AddNew方法有什么區(qū)別?哪一種更好呢?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:AddNew方法的實(shí)質(zhì)就是封裝了“Insert into”語(yǔ)句。所以,當(dāng)我們需要對(duì)大量數(shù)據(jù)進(jìn)行操作的時(shí)候,應(yīng)優(yōu)先選用“Insert into”語(yǔ)句。因?yàn)橹苯邮褂肧QL語(yǔ)句,減少了ADO的解釋時(shí)間,顯然會(huì)大大加快存取數(shù)據(jù)的速度。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 無法登陸SQL SERVER?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:這是因?yàn)榘惭bSQL SERVER時(shí)使用了NT驗(yàn)證模式,而ASP以匿名身份運(yùn)行,不夠資格訪問數(shù)據(jù)庫(kù)服務(wù)器。解決方法:把SQL SERVER改成混合驗(yàn)證模式(包含SQL驗(yàn)證)

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 權(quán)限問題
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:ASP沒有權(quán)限訪問某些文件夾。因此運(yùn)行VB編寫的組件可能會(huì)出毛病。設(shè)置system32文件夾的屬性,賦予IUSR用戶運(yùn)行權(quán)限即可。ASP也沒有權(quán)限訪問注冊(cè)表。這個(gè)可以用組件來實(shí)現(xiàn)。把組件注冊(cè)到COM+里,然后指定其以高級(jí)身份運(yùn)行;或者取消虛擬目錄的“匿名訪問”,讓訪客輸入管理員密碼,這時(shí)候ASP就提升為管理員身份運(yùn)行了。ADSI也是一樣。如果Access數(shù)據(jù)庫(kù)存放在受保護(hù)的文件夾,就會(huì)出現(xiàn)80004005錯(cuò)誤。此時(shí)也需要設(shè)置文件夾的權(quán)限。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 在ASP文件中讀取HTML的表單字段有幾種方法?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:Request對(duì)象除了可以用來讀取附帶在網(wǎng)址后面的參數(shù)以外,也可以讀取HTML表單字段的內(nèi)容,經(jīng)常使用的語(yǔ)法結(jié)構(gòu)如下:   http://www.ttokpm.com/images/chaijie_default.pnglt; Form name =Formname method=“Get|Post”Action=“URL”http://www.ttokpm.com/images/chaijie_default.pnggt;http://www.ttokpm.com/images/chaijie_default.pnglt; Form http://www.ttokpm.com/images/chaijie_default.pnggt; 其中的method可以接受Get或Post兩種傳輸?shù)姆椒?,其中的Post是允許傳輸大量數(shù)據(jù)的方法,而Get方法會(huì)將所要傳輸?shù)臄?shù)據(jù)附在網(wǎng)址后面,然后一起送達(dá)服務(wù)器,因此傳送的數(shù)據(jù)量就會(huì)受到限制,但是執(zhí)行效率卻比Post方法好。   使用Get或Post方法都可以將數(shù)據(jù)送至服務(wù)器,使用Request對(duì)象接收數(shù)據(jù)的相對(duì)應(yīng)方法如下:   Get:Request.QueryString(“字段名稱”),也可以寫成Request (“字段名稱”)  Post:Request.Form (“字段名稱”),也可以寫成Request (“字段名稱”)

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 在ASP頁(yè)面中既可以使用VBScript,也可以使用Jscript,混合使用腳本引擎好嗎?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:雖然在ASP頁(yè)面中既可以使用VBScript,也可以使用JScript。但是在同一個(gè)頁(yè)面上同時(shí)使用JScript和VBScript則是不可取的。因?yàn)榉?wù)器必須實(shí)例化并嘗試緩存兩個(gè)(而不是一個(gè))腳本引擎,這在一定程度上增加了系統(tǒng)負(fù)擔(dān)。因此,從性能上考慮,不應(yīng)在同一頁(yè)面中混用多種腳本引擎。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 當(dāng)我們建立了一個(gè)ASP文件,并且符合語(yǔ)法時(shí),通過瀏覽器輸入以下地址,或通過資源管理器打開瀏覽:c:\inetpub\wwwroot\a.asp,將出現(xiàn)無法運(yùn)行的錯(cuò)誤,并提示權(quán)限不對(duì)或文件無法訪問,為何不能正常運(yùn)行ASP文件?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:這是因?yàn)锳SP文件首先要求站點(diǎn)是具備“執(zhí)行(腳本)”屬性的;然后要求按照URL格式輸入地址,而不是DOS格式,我們需要在電腦上安裝好并啟動(dòng)Web服務(wù)平臺(tái),并確保ASP文件存放在Web服務(wù)器的虛擬目錄下,就可以通過HTTP的格式來瀏覽,在瀏覽器的地址欄輸入:“http:// Web站點(diǎn)名稱(或站點(diǎn)的IP地址)/ASP文件名稱”,回車后就可以在瀏覽器中看到服務(wù)器執(zhí)行ASP文件的結(jié)果。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;什么是ASP.NET?它與ASP有什么關(guān)系?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:Active Server Pages(ASP,活動(dòng)服務(wù)器頁(yè)面)就是一個(gè)比較簡(jiǎn)單編程環(huán)境,在其中,可以混合使用HTML、腳本語(yǔ)言以及少量組件來創(chuàng)建服務(wù)器端的Internet應(yīng)用程序;   ASP.NET是微軟力推的功能強(qiáng)大的編程環(huán)境,可以使用C#等多種高級(jí)語(yǔ)言及腳本語(yǔ)言、HTML、XML、XSL等來創(chuàng)建基于網(wǎng)絡(luò)的應(yīng)用程序。ASP.NET將C#作為一種面向?qū)ο笳Z(yǔ)言,在很多方面來看,C#將成為微軟的與Java相似的語(yǔ)言。 C#是ASP.NET開發(fā)中一個(gè)最重要的功能,微軟會(huì)將C#發(fā)展成為Java的強(qiáng)勁對(duì)手。這也是微軟.Net框架的一個(gè)重要組成部分。我認(rèn)為C#是微軟在編程語(yǔ)言領(lǐng)域擊敗對(duì)手的主要工具。   ASP.NET在面向?qū)ο笮?、?shù)據(jù)庫(kù)連接、大型站點(diǎn)應(yīng)用等方面都優(yōu)于ASP程序,ASP.NET還提供更多的其他方面的新特性,例如:內(nèi)置的對(duì)象緩存和頁(yè)面結(jié)果緩存;內(nèi)置的XML支持,可用于XML數(shù)據(jù)集的簡(jiǎn)單處理;服務(wù)器控制提供了更充分的交互式制等。   ASP.NET依然完全鎖定在微軟的操作系統(tǒng)中,要真正發(fā)揮ASP.NET潛力,你要使用C#或vb.net。這兩種語(yǔ)言將成為ASP.NET標(biāo)準(zhǔn)的核心的腳本語(yǔ)言。

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

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 在Web服務(wù)器上容納多個(gè)Web站點(diǎn),能使用PWS嗎?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:在PWS上只能容納一個(gè)Web站點(diǎn)。為了在相同的計(jì)算機(jī)上容納多個(gè)Web站點(diǎn),需要使用Windows NT Server或Windows 2000 Server/Professional和IIS。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 如何使用6個(gè)內(nèi)置ASP對(duì)象?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:ASP提供了多個(gè)內(nèi)嵌對(duì)象,無須建立就可以在指令中直接訪問和使用它們,這六個(gè)對(duì)象主要有:請(qǐng)求(Request)對(duì)象、響應(yīng)(Response)對(duì)象、工作階段(Session)對(duì)象、應(yīng)用程序(Application)對(duì)象、服務(wù)器(Server)對(duì)象、Cookies對(duì)象,這六個(gè)對(duì)象中的服務(wù)器(Server)對(duì)象可加載其他組件,這可以擴(kuò)展ASP的功能。   使用Server.CreateObject所建立的對(duì)象,它的生命周期在它建立時(shí)開始,在它所在的網(wǎng)頁(yè)程序結(jié)束時(shí)結(jié)束。如果想要讓該對(duì)象跨網(wǎng)頁(yè)使用,則可以用Session對(duì)象來記錄Server.CreateObject所建立的對(duì)象。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 為什么在使用Response.Redirect的時(shí)候出現(xiàn)以下錯(cuò)誤:“標(biāo)題錯(cuò)誤,已將HTTP標(biāo)題寫入用戶端瀏覽器,對(duì)任何HTTP的標(biāo)題所作的修改必須在寫入頁(yè)內(nèi)容之前”?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:Response.Redirect可以將網(wǎng)頁(yè)轉(zhuǎn)移至另外的網(wǎng)頁(yè)上,使用的語(yǔ)法結(jié)構(gòu)是這樣的:Response.Redirect網(wǎng)址,其中網(wǎng)址可以是相對(duì)地址或絕對(duì)地址,但在IIS4.0使用與在IIS5.0使用有所不同。   在IIS4.0轉(zhuǎn)移網(wǎng)頁(yè)須在任何數(shù)據(jù)都未輸出至客戶端瀏覽器之前進(jìn)行,否則會(huì)發(fā)生錯(cuò)誤。這里所謂的數(shù)據(jù)包括HTML的卷標(biāo),例如:http://www.ttokpm.com/images/chaijie_default.pnglt; HTMLhttp://www.ttokpm.com/images/chaijie_default.pnggt;,http://www.ttokpm.com/images/chaijie_default.pnglt; BODYhttp://www.ttokpm.com/images/chaijie_default.pnggt;等,而在IIS5.0中已有所改進(jìn),在IIS5.0的默認(rèn)情況下緩沖區(qū)是開啟的,這樣的錯(cuò)誤不再產(chǎn)生。   在Response對(duì)象中有一Buffer屬性,該屬性可以設(shè)置網(wǎng)站在處理ASP之后是否馬上將數(shù)據(jù)傳送到客戶端,但設(shè)置該屬性也必須在傳送任何數(shù)據(jù)給客戶端之前。   為保險(xiǎn)起見,無論采用何種ASP運(yùn)行平臺(tái),在頁(yè)面的開始寫上http://www.ttokpm.com/images/chaijie_default.pnglt; % Response.Buffer=True %http://www.ttokpm.com/images/chaijie_default.pnggt;,將緩沖區(qū)設(shè)置為開啟,這樣的錯(cuò)誤就不會(huì)發(fā)生了。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 緩沖輸出對(duì)于網(wǎng)頁(yè)傳輸有沒有影響?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:在比較大的Web頁(yè)中,第一部分在瀏覽器中出現(xiàn)可能會(huì)有一些延遲,但是加載整個(gè)Web頁(yè)的速度比不用緩沖要快。

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

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 在ASP腳本中寫了很多的注釋,這會(huì)不會(huì)影響服務(wù)器處理ASP文件的速度?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:在編寫程序的過程中,作注釋是良好的習(xí)慣。經(jīng)國(guó)外技術(shù)人員測(cè)試,帶有過多注釋的ASP文件整體性能僅僅會(huì)下降0.1%,也就是說在實(shí)際應(yīng)用中基本上不會(huì)感覺到服務(wù)器的性能下降的。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 需不需要在每個(gè)ASP文件的開頭使用http://www.ttokpm.com/images/chaijie_default.pnglt; % @LANGUAGE=VBScript % http://www.ttokpm.com/images/chaijie_default.pnggt;?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:在每個(gè)ASP文件的開頭使用http://www.ttokpm.com/images/chaijie_default.pnglt; % @LANGUAGE=VBScript %http://www.ttokpm.com/images/chaijie_default.pnggt;代碼是用來通知服務(wù)器現(xiàn)在使用VBScript來編寫程序,但因?yàn)锳SP的預(yù)設(shè)程序語(yǔ)言是VBScript,因此忽略這樣代碼也可以正常運(yùn)行,但如果程序的腳本語(yǔ)言是JavaScrip,就需要在程序第一行指明所用的腳本語(yǔ)言。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 有沒有必要在每一個(gè)ASP文件中使用“Option Explicit”?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:在實(shí)際應(yīng)用中,VBScript變量的概念已經(jīng)模糊了,允許直接使用變量,而不用Dim聲明變量,但這并不是一個(gè)好習(xí)慣,容易造成程序錯(cuò)誤,因?yàn)榭赡苤貜?fù)定義一個(gè)變量。我們可以在程序中使用Option Explicit語(yǔ)句,這樣在使用一個(gè)變量的時(shí)候,必須先聲明它,如果使用了沒有經(jīng)過聲明的變量,運(yùn)行時(shí),程序就會(huì)出錯(cuò)。   實(shí)踐證明,ASP文件中使用“Option Explicit”可以使得程序出錯(cuò)機(jī)會(huì)降到最少,并且會(huì)大大提升整體性能。

http://www.ttokpm.com/images/chaijie_default.pngnbsp; 運(yùn)行ASP文件時(shí)有什么安全措施?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:ASP提供了很好的代碼保護(hù)機(jī)制,所有的ASP代碼都在服務(wù)器端執(zhí)行而只返回給客戶端代碼執(zhí)行結(jié)果。但仍不排除惡意人士對(duì)Web服務(wù)器的刻意破壞,所以在編寫ASP文件時(shí)更要注意安全問題。   雖然在ASP中引入文件以inc作為擴(kuò)展名,在這里仍建議以ASP作為引文件的擴(kuò)展名。當(dāng)這些代碼在安全機(jī)制不好的Web Server上運(yùn)行時(shí),只需在地址欄上輸入引入文件的地址(inc為擴(kuò)展名),就可以瀏覽該引入文件的內(nèi)容,這是由于在Web Server上,如果沒有定義好解析某類型(比如inc)的動(dòng)態(tài)連接庫(kù)時(shí),該文件以源碼方式顯示。   另外,不要把數(shù)據(jù)庫(kù)文件放在網(wǎng)站結(jié)構(gòu)內(nèi)部,這樣,當(dāng)惡意人士獲取數(shù)據(jù)庫(kù)路徑后,就可以輕易獲取該數(shù)據(jù)庫(kù),進(jìn)而肆意更改數(shù)據(jù)庫(kù)內(nèi)容。比較好的做法是,為數(shù)據(jù)庫(kù)建立數(shù)據(jù)源名稱DSN(Date Source Name),在DSN中存儲(chǔ)了有關(guān)連接到指定數(shù)據(jù)提供者的信息,包括:“數(shù)據(jù)庫(kù)的物理位置,用于訪問數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序的類型,訪問數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序所需要的任何其他參數(shù)”,在進(jìn)行數(shù)據(jù)庫(kù)訪問時(shí)可以直接訪問該DSN。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; ADO是什么,它是如何操作數(shù)據(jù)庫(kù)的?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:ADO的全名是ActiveX Data Object(ActiveX數(shù)據(jù)對(duì)象),是一組優(yōu)化的訪問數(shù)據(jù)庫(kù)的專用對(duì)象集,它為ASP提供了完整的站點(diǎn)數(shù)據(jù)庫(kù)解決方案,它作用在服務(wù)器端,提供含有數(shù)據(jù)庫(kù)信息的主頁(yè)內(nèi)容,通過執(zhí)行SQL命令,讓用戶在瀏覽器畫面中輸入,更新和刪除站點(diǎn)數(shù)據(jù)庫(kù)的信息。   ADO主要包括Connection,Recordset和Command三個(gè)對(duì)象, 它們的主要功能如下:   http://www.ttokpm.com/images/chaijie_default.png#8226;Connection對(duì)象:負(fù)責(zé)打開或連接數(shù)據(jù)庫(kù)文件;   http://www.ttokpm.com/images/chaijie_default.png#8226;Recordset對(duì)象:存取數(shù)據(jù)庫(kù)的內(nèi)容;   http://www.ttokpm.com/images/chaijie_default.png#8226;Command對(duì)象:對(duì)數(shù)據(jù)庫(kù)下達(dá)行動(dòng)查詢指令,以及執(zhí)行SQL Server的存儲(chǔ)過程。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 使用Recordset對(duì)象和Command對(duì)象來訪問數(shù)據(jù)庫(kù)的區(qū)別在哪里?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:Recordset對(duì)象會(huì)要求數(shù)據(jù)庫(kù)傳送所有的數(shù)據(jù),那么數(shù)據(jù)量很大的時(shí)候就會(huì)造成網(wǎng)絡(luò)的阻塞和數(shù)據(jù)庫(kù)服務(wù)器的負(fù)荷過重,因此整體的執(zhí)行效率會(huì)降低。 利用Command對(duì)象直接調(diào)用SQL語(yǔ)句,所執(zhí)行的操作是在數(shù)據(jù)庫(kù)服務(wù)器中進(jìn)行的,顯然會(huì)有很高的執(zhí)行效率。特別是在服務(wù)器端執(zhí)行創(chuàng)建完成的存儲(chǔ)過程,可以降低網(wǎng)絡(luò)流量,另外,由于事先進(jìn)行了語(yǔ)法分析,可以提高整體的執(zhí)行效率。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 是否必須為每一個(gè)Recordset對(duì)象創(chuàng)建一個(gè)Connection對(duì)象?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:可以同時(shí)對(duì)不同的Recordset對(duì)象使用相同的Connection對(duì)象,以節(jié)省資源。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 在ASP中使用ADO的AddNew方法和直接使用“Insert into...”語(yǔ)句有何不同?哪種方式更好?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:ADO的AddNew方法只是將“Insert into ”語(yǔ)句封裝了起來,所以,當(dāng)對(duì)大量數(shù)據(jù)進(jìn)行操作的時(shí)候,直接使用SQL語(yǔ)句將會(huì)大大加快存取數(shù)據(jù)的速度,因?yàn)樗鼫p少了ADO的“翻譯”時(shí)間,由于SQL語(yǔ)句所執(zhí)行的操作是直接在數(shù)據(jù)庫(kù)服務(wù)器中進(jìn)行的,尤其在數(shù)據(jù)量很大的時(shí)候有顯著的優(yōu)勢(shì)。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 為什么我在ASP中使用標(biāo)準(zhǔn)的插入記錄語(yǔ)句 insert into books(name,email) values(“kitty”, “kitty@263.com”)會(huì)出錯(cuò)?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:SQL(Structured Query Language/結(jié)構(gòu)式查詢語(yǔ)言)是IBM公司在1970年代所發(fā)展出來的數(shù)據(jù)查詢語(yǔ)言,它現(xiàn)在已經(jīng)成為關(guān)系型數(shù)據(jù)庫(kù)查詢語(yǔ)言的標(biāo)準(zhǔn)。SQL語(yǔ)句是一種以英文為基礎(chǔ)的程序語(yǔ)言,可以使用它來添加,管理以及存取數(shù)據(jù)庫(kù)。   在SQL語(yǔ)句中添加時(shí)的字符串雖然可以使用雙引號(hào),但在ASP中卻需要使用單引號(hào)才能正常執(zhí)行。所以應(yīng)當(dāng)寫成insert into books(name,email) values(‘kitty’,‘kitty@263.com’)。

http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 什么是ActiveX 控件? 在哪里可以得到這些ActiveX控件?
http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp;http://www.ttokpm.com/images/chaijie_default.pngnbsp; 解答:Microsoft ActiveX控件是由軟件提供商開發(fā)的可重用的軟件組件。除了ASP的內(nèi)嵌對(duì)象外,另外安裝進(jìn)來的ActiveX控件也可以在ASP中使用,這樣可以節(jié)省許多寶貴的開發(fā)時(shí)間,在ASP中其實(shí)也內(nèi)嵌了很多的ActiveX控件可以使用。   使用ActiveX控件,可以很快地Web應(yīng)用程序、以及開發(fā)工具中加入特殊的功能。例如,使用AdRotator對(duì)象來制作廣告滾動(dòng)板,使用FileSystemObject對(duì)象進(jìn)行文件存取,使用Marquee對(duì)象實(shí)現(xiàn)滾動(dòng)文字。   現(xiàn)在,已有1000多個(gè)商用的ActiveX控件,開發(fā)ActiveX控件可以使用各種編程語(yǔ)言,如C,C++等,以及微軟公司的 Visual Java開發(fā)環(huán)境Microsoft Visual J++。 ActiveX控件一旦被開發(fā)出來,設(shè)計(jì)和開發(fā)人員就可以把它當(dāng)作預(yù)裝配組件,用于開發(fā)客戶程序。以此種方式使用 ActiveX控件,使用者無需知道這些組件是如何開發(fā)的,在很多情況下,甚至不需要自己編程,就可以完成網(wǎng)頁(yè)或應(yīng)用程序的設(shè)計(jì)。   目前由第三方軟件開發(fā)商提供的商用控件有1000多種。微軟ActiveX組件庫(kù)(ActiveX Component Gallery)中存著有關(guān)信息以及相關(guān)的連接,它們指向微軟及第三方開發(fā)商提供的各種 ActiveX 控件。在微軟ActiveX組件庫(kù)(ActiveX Component Gallery)中,可以找到開發(fā)Internet增強(qiáng)型ActiveX 控件的公司列表。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?