ASP常見問題全集
ASP常見問題全集
http://www.1cnz.cn/images/chaijie_default.pngnbsp;如何保護自己的ASP源代碼不泄露?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:下載微軟的windows script encoder,對ASP的腳本和客戶端javascript、vbscript腳本進行加密。客戶端腳本加密后,只有ie5以上的版本才能執行,服務器端腳本加密后,只有服務器上安裝有script engine 5(裝ie5即可)才能解釋執行。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 為什么global.asa文件總是不起作用?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:只有把global.asa文件放在web發布目錄某個站點的根目錄下它才有效,放在發布目錄的某個子目錄下不起作用。另外,也可以使用iis4的internet service manager把某個子目錄設置為站點。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 為什么ASP文件總不解釋執行?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:在iis服務器上沒有給ASP文件以腳本解釋的權限,所以ASP文件沒有被web服務器作為腳本代碼進行解釋執行,而被當成一般頁面文件了。建議在web發布目錄中建立一個ASP目錄,把所有ASP文件存放在此目錄下,把ASP目錄賦予腳本解釋權限。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; ASP文件中使用response.redirect(url)時導致錯誤“the http headers are already written to the client browser. any http header modifications must be made before writing page content”,請問如何解決?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:此錯誤為http標題在寫入頁內容之后,寫到了客戶瀏覽器中。任何http標題的修改必須在寫入頁內容之前進行,解決的方法為在ASP文件最開頭加入response.buffer = true,在文件的結尾加入response.flush。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 為什么session有時候會消失?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:session很像臨時的cookie,只是其信息保存在服務器上(客戶機上保存的是sessionid)。session變量消失有幾種可能,如:使用者的瀏覽器不接受cookie,因為session依賴于cookie才能跟蹤用戶;session在一段時間后過期了,缺省為20分鐘,如果希望更改,可以通過設置microsoft management console的web directory→properties→virtual directory→application settings→configuration→app options→session timeout選項來改變session的超時時間,也可以在ASP腳本中設定,如session.timeout=60,可設定超時時間為60分鐘。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 怎樣才能知道訪問者的一些信息?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:通過request.servervariables("http—user—agent")獲得訪問者瀏覽器的類型;request.servervariables("remote—addr")可獲得訪問者的ip地址;而訪問者的語言環境可通過request.servervariables("http—accept—language")來獲得。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 怎樣才能將query string從一個ASP文件傳送到另一個ASP文件?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:前一個ASP文件加入下列代碼:response.redirect("second.ASP?"http://www.1cnz.cn/images/chaijie_default.pngamp;request.servervariables("query—string"))即可。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; ASP中如何控制cookies?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答: 若想寫入cookies可用:response.cookies("待寫入的coookies名稱")=待寫入數據。讀取cookies則使用:讀取數據=request.cookies("待讀的cookies名稱")。 注意,寫入cookies的response.cookies程序段必須放在〈html〉標記之前,且不可以有任何的其它html代碼。另外,cookies中必須使用expires設定有效期,cookies才能真正地寫入客戶端硬盤中,否則只是臨時的。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 怎樣實現用ASP發送郵件?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答: 用戶需裝上windows nt option pack的smtp service功能。實現代碼如下: 〈% set mail = server.createobject("cdonts.newmail") mail.to ="abc@xxx.com" mail.from ="yourmail@xxx.com" mail.subject ="主題" mail.body ="e-mail內容" mail.send %〉
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; ASP與數據庫連接一定要在服務器端設置dsn嗎?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答: 不一定,ASP與服務器的數據庫連接有兩種方法,一種為通過dsn建立連接,另一種不用dsn建立連接。通過dsn連接數據庫需要服務器的系統管理員在服務器的控制面板中的odbc中設置一個dsn。如果沒有在服務器上設置dsn,只要知道數據庫文件名(比如access、paradox、foxpro的數據庫)或者數據源名(如sqlserver的數據庫)就可以訪問數據庫,直接提供連接所需的參數即可。 連接代碼如下: set conn=server.createobject("adodb.connection") connpath="dbq="http://www.1cnz.cn/images/chaijie_default.pngamp;server.mappath("yourtable.mdb") conn.open"driver={microsoft access driver (?.mdb)};"http://www.1cnz.cn/images/chaijie_default.pngamp;connpath set rs=conn.execute("select?from authors")
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 如何從一頁到另一頁傳遞變量?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/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.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 如何用ASP實現在線人數統計? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; ASP程序運行的時間如何計算? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; Excute后都需要返回一個RecordSet對象嗎? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; Insert into與AddNew哪一個更好?在ASP中,直接使用“Insert into” 語句與使用ADO中AddNew方法有什么區別?哪一種更好呢? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 無法登陸SQL SERVER? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 權限問題 http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 在ASP文件中讀取HTML的表單字段有幾種方法? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 在ASP頁面中既可以使用VBScript,也可以使用Jscript,混合使用腳本引擎好嗎? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 當我們建立了一個ASP文件,并且符合語法時,通過瀏覽器輸入以下地址,或通過資源管理器打開瀏覽:c:\inetpub\wwwroot\a.asp,將出現無法運行的錯誤,并提示權限不對或文件無法訪問,為何不能正常運行ASP文件? http://www.1cnz.cn/images/chaijie_default.pngnbsp;什么是ASP.NET?它與ASP有什么關系? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; ASP是一種編程語言嗎? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 在Web服務器上容納多個Web站點,能使用PWS嗎? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 如何使用6個內置ASP對象? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 為什么在使用Response.Redirect的時候出現以下錯誤:“標題錯誤,已將HTTP標題寫入用戶端瀏覽器,對任何HTTP的標題所作的修改必須在寫入頁內容之前”? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 緩沖輸出對于網頁傳輸有沒有影響? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 在沒有表單提交時查詢字符串的值是否可以使用Request.QueryString集合? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 在ASP腳本中寫了很多的注釋,這會不會影響服務器處理ASP文件的速度? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 需不需要在每個ASP文件的開頭使用http://www.1cnz.cn/images/chaijie_default.pnglt; % @LANGUAGE=VBScript % http://www.1cnz.cn/images/chaijie_default.pnggt;? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 有沒有必要在每一個ASP文件中使用“Option Explicit”? http://www.1cnz.cn/images/chaijie_default.pngnbsp; 運行ASP文件時有什么安全措施? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; ADO是什么,它是如何操作數據庫的? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 使用Recordset對象和Command對象來訪問數據庫的區別在哪里? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 是否必須為每一個Recordset對象創建一個Connection對象? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 在ASP中使用ADO的AddNew方法和直接使用“Insert into...”語句有何不同?哪種方式更好? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 為什么我在ASP中使用標準的插入記錄語句 insert into books(name,email) values(“kitty”, “kitty@263.com”)會出錯? http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 什么是ActiveX 控件? 在哪里可以得到這些ActiveX控件?
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:在線人數是指一個時段內的訪客人數統計,時間的長短是由設計者設定的。 在這個時段內,各個不同ip訪問本站點的總數,就是當前的線上人數。在ASP中,使用session對象來實現統計,實現代碼如下: 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文件內容 〈% 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.1cnz.cn/images/chaijie_default.pngamp;"
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:確定ASP程序的執行時間的代碼如下所示: 〈% dim t1,t2 t1=now() ′被檢測的ASP代碼 t2=now() response.write"運行這段ASP代碼用了"http://www.1cnz.cn/images/chaijie_default.pngamp;cstr(cdbl((t2-t1)*24*60*60))http://www.1cnz.cn/images/chaijie_default.pngamp;"秒" %〉
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答: 不是的,例如在表中刪除記錄。我們來看看下面的例子——在Employee表中刪除了Job_ID為1的記錄,并不需要再返回一個RecordSet: set conn= Server.CreateObject(“ADODB.Connection”) conn.ConnectionString=”driver={SQL Server};server=srv;”http://www.1cnz.cn/images/chaijie_default.pngamp;_ “uid=sa;pwd=;database=pubs” conn.open conn.Excute “Delect From Employee Where Job_ID=1;”,,adCmdText
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:AddNew方法的實質就是封裝了“Insert into”語句。所以,當我們需要對大量數據進行操作的時候,應優先選用“Insert into”語句。因為直接使用SQL語句,減少了ADO的解釋時間,顯然會大大加快存取數據的速度。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:這是因為安裝SQL SERVER時使用了NT驗證模式,而ASP以匿名身份運行,不夠資格訪問數據庫服務器。解決方法:把SQL SERVER改成混合驗證模式(包含SQL驗證)
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:ASP沒有權限訪問某些文件夾。因此運行VB編寫的組件可能會出毛病。設置system32文件夾的屬性,賦予IUSR用戶運行權限即可。ASP也沒有權限訪問注冊表。這個可以用組件來實現。把組件注冊到COM+里,然后指定其以高級身份運行;或者取消虛擬目錄的“匿名訪問”,讓訪客輸入管理員密碼,這時候ASP就提升為管理員身份運行了。ADSI也是一樣。如果Access數據庫存放在受保護的文件夾,就會出現80004005錯誤。此時也需要設置文件夾的權限。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:Request對象除了可以用來讀取附帶在網址后面的參數以外,也可以讀取HTML表單字段的內容,經常使用的語法結構如下: http://www.1cnz.cn/images/chaijie_default.pnglt; Form name =Formname method=“Get|Post”Action=“URL”http://www.1cnz.cn/images/chaijie_default.pnggt;http://www.1cnz.cn/images/chaijie_default.pnglt; Form http://www.1cnz.cn/images/chaijie_default.pnggt; 其中的method可以接受Get或Post兩種傳輸的方法,其中的Post是允許傳輸大量數據的方法,而Get方法會將所要傳輸的數據附在網址后面,然后一起送達服務器,因此傳送的數據量就會受到限制,但是執行效率卻比Post方法好。 使用Get或Post方法都可以將數據送至服務器,使用Request對象接收數據的相對應方法如下: Get:Request.QueryString(“字段名稱”),也可以寫成Request (“字段名稱”) Post:Request.Form (“字段名稱”),也可以寫成Request (“字段名稱”)
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:雖然在ASP頁面中既可以使用VBScript,也可以使用JScript。但是在同一個頁面上同時使用JScript和VBScript則是不可取的。因為服務器必須實例化并嘗試緩存兩個(而不是一個)腳本引擎,這在一定程度上增加了系統負擔。因此,從性能上考慮,不應在同一頁面中混用多種腳本引擎。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:這是因為ASP文件首先要求站點是具備“執行(腳本)”屬性的;然后要求按照URL格式輸入地址,而不是DOS格式,我們需要在電腦上安裝好并啟動Web服務平臺,并確保ASP文件存放在Web服務器的虛擬目錄下,就可以通過HTTP的格式來瀏覽,在瀏覽器的地址欄輸入:“http:// Web站點名稱(或站點的IP地址)/ASP文件名稱”,回車后就可以在瀏覽器中看到服務器執行ASP文件的結果。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:Active Server Pages(ASP,活動服務器頁面)就是一個比較簡單編程環境,在其中,可以混合使用HTML、腳本語言以及少量組件來創建服務器端的Internet應用程序; ASP.NET是微軟力推的功能強大的編程環境,可以使用C#等多種高級語言及腳本語言、HTML、XML、XSL等來創建基于網絡的應用程序。ASP.NET將C#作為一種面向對象語言,在很多方面來看,C#將成為微軟的與Java相似的語言。 C#是ASP.NET開發中一個最重要的功能,微軟會將C#發展成為Java的強勁對手。這也是微軟.Net框架的一個重要組成部分。我認為C#是微軟在編程語言領域擊敗對手的主要工具。 ASP.NET在面向對象性、數據庫連接、大型站點應用等方面都優于ASP程序,ASP.NET還提供更多的其他方面的新特性,例如:內置的對象緩存和頁面結果緩存;內置的XML支持,可用于XML數據集的簡單處理;服務器控制提供了更充分的交互式制等。 ASP.NET依然完全鎖定在微軟的操作系統中,要真正發揮ASP.NET潛力,你要使用C#或vb.net。這兩種語言將成為ASP.NET標準的核心的腳本語言。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:ASP不是編程語言,而是一種開發環境。ASP提供了一個在服務器端執行指令的環境,它利用了特殊的符號()來區分HTML與必須經過服務器翻譯才能送往客戶端的命令。它可以執行的指令包括HTML語言,Microsoft VBScript和Microsoft Jscript等,因此可以制作出功能強大的Web應用程序。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:在PWS上只能容納一個Web站點。為了在相同的計算機上容納多個Web站點,需要使用Windows NT Server或Windows 2000 Server/Professional和IIS。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:ASP提供了多個內嵌對象,無須建立就可以在指令中直接訪問和使用它們,這六個對象主要有:請求(Request)對象、響應(Response)對象、工作階段(Session)對象、應用程序(Application)對象、服務器(Server)對象、Cookies對象,這六個對象中的服務器(Server)對象可加載其他組件,這可以擴展ASP的功能。 使用Server.CreateObject所建立的對象,它的生命周期在它建立時開始,在它所在的網頁程序結束時結束。如果想要讓該對象跨網頁使用,則可以用Session對象來記錄Server.CreateObject所建立的對象。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:Response.Redirect可以將網頁轉移至另外的網頁上,使用的語法結構是這樣的:Response.Redirect網址,其中網址可以是相對地址或絕對地址,但在IIS4.0使用與在IIS5.0使用有所不同。 在IIS4.0轉移網頁須在任何數據都未輸出至客戶端瀏覽器之前進行,否則會發生錯誤。這里所謂的數據包括HTML的卷標,例如:http://www.1cnz.cn/images/chaijie_default.pnglt; HTMLhttp://www.1cnz.cn/images/chaijie_default.pnggt;,http://www.1cnz.cn/images/chaijie_default.pnglt; BODYhttp://www.1cnz.cn/images/chaijie_default.pnggt;等,而在IIS5.0中已有所改進,在IIS5.0的默認情況下緩沖區是開啟的,這樣的錯誤不再產生。 在Response對象中有一Buffer屬性,該屬性可以設置網站在處理ASP之后是否馬上將數據傳送到客戶端,但設置該屬性也必須在傳送任何數據給客戶端之前。 為保險起見,無論采用何種ASP運行平臺,在頁面的開始寫上http://www.1cnz.cn/images/chaijie_default.pnglt; % Response.Buffer=True %http://www.1cnz.cn/images/chaijie_default.pnggt;,將緩沖區設置為開啟,這樣的錯誤就不會發生了。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:在比較大的Web頁中,第一部分在瀏覽器中出現可能會有一些延遲,但是加載整個Web頁的速度比不用緩沖要快。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:Request對象用于讀取瀏覽器的數據,它除了可以讀取表單字段的內容,還可以用來讀取附帶在網址后面的參數,無論請求字符串怎樣添加到鏈接地址中對Request來說都沒有什么不同。使用get方法提交一個表單,還是跟隨一個附加查詢串的鏈接查詢字符串中所有的值,都可以使用Request.QueryString集合。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:在編寫程序的過程中,作注釋是良好的習慣。經國外技術人員測試,帶有過多注釋的ASP文件整體性能僅僅會下降0.1%,也就是說在實際應用中基本上不會感覺到服務器的性能下降的。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:在每個ASP文件的開頭使用http://www.1cnz.cn/images/chaijie_default.pnglt; % @LANGUAGE=VBScript %http://www.1cnz.cn/images/chaijie_default.pnggt;代碼是用來通知服務器現在使用VBScript來編寫程序,但因為ASP的預設程序語言是VBScript,因此忽略這樣代碼也可以正常運行,但如果程序的腳本語言是JavaScrip,就需要在程序第一行指明所用的腳本語言。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:在實際應用中,VBScript變量的概念已經模糊了,允許直接使用變量,而不用Dim聲明變量,但這并不是一個好習慣,容易造成程序錯誤,因為可能重復定義一個變量。我們可以在程序中使用Option Explicit語句,這樣在使用一個變量的時候,必須先聲明它,如果使用了沒有經過聲明的變量,運行時,程序就會出錯。 實踐證明,ASP文件中使用“Option Explicit”可以使得程序出錯機會降到最少,并且會大大提升整體性能。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:ASP提供了很好的代碼保護機制,所有的ASP代碼都在服務器端執行而只返回給客戶端代碼執行結果。但仍不排除惡意人士對Web服務器的刻意破壞,所以在編寫ASP文件時更要注意安全問題。 雖然在ASP中引入文件以inc作為擴展名,在這里仍建議以ASP作為引文件的擴展名。當這些代碼在安全機制不好的Web Server上運行時,只需在地址欄上輸入引入文件的地址(inc為擴展名),就可以瀏覽該引入文件的內容,這是由于在Web Server上,如果沒有定義好解析某類型(比如inc)的動態連接庫時,該文件以源碼方式顯示。 另外,不要把數據庫文件放在網站結構內部,這樣,當惡意人士獲取數據庫路徑后,就可以輕易獲取該數據庫,進而肆意更改數據庫內容。比較好的做法是,為數據庫建立數據源名稱DSN(Date Source Name),在DSN中存儲了有關連接到指定數據提供者的信息,包括:“數據庫的物理位置,用于訪問數據庫的驅動程序的類型,訪問數據庫的驅動程序所需要的任何其他參數”,在進行數據庫訪問時可以直接訪問該DSN。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:ADO的全名是ActiveX Data Object(ActiveX數據對象),是一組優化的訪問數據庫的專用對象集,它為ASP提供了完整的站點數據庫解決方案,它作用在服務器端,提供含有數據庫信息的主頁內容,通過執行SQL命令,讓用戶在瀏覽器畫面中輸入,更新和刪除站點數據庫的信息。 ADO主要包括Connection,Recordset和Command三個對象, 它們的主要功能如下: http://www.1cnz.cn/images/chaijie_default.png#8226;Connection對象:負責打開或連接數據庫文件; http://www.1cnz.cn/images/chaijie_default.png#8226;Recordset對象:存取數據庫的內容; http://www.1cnz.cn/images/chaijie_default.png#8226;Command對象:對數據庫下達行動查詢指令,以及執行SQL Server的存儲過程。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:Recordset對象會要求數據庫傳送所有的數據,那么數據量很大的時候就會造成網絡的阻塞和數據庫服務器的負荷過重,因此整體的執行效率會降低。 利用Command對象直接調用SQL語句,所執行的操作是在數據庫服務器中進行的,顯然會有很高的執行效率。特別是在服務器端執行創建完成的存儲過程,可以降低網絡流量,另外,由于事先進行了語法分析,可以提高整體的執行效率。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:可以同時對不同的Recordset對象使用相同的Connection對象,以節省資源。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:ADO的AddNew方法只是將“Insert into ”語句封裝了起來,所以,當對大量數據進行操作的時候,直接使用SQL語句將會大大加快存取數據的速度,因為它減少了ADO的“翻譯”時間,由于SQL語句所執行的操作是直接在數據庫服務器中進行的,尤其在數據量很大的時候有顯著的優勢。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:SQL(Structured Query Language/結構式查詢語言)是IBM公司在1970年代所發展出來的數據查詢語言,它現在已經成為關系型數據庫查詢語言的標準。SQL語句是一種以英文為基礎的程序語言,可以使用它來添加,管理以及存取數據庫。 在SQL語句中添加時的字符串雖然可以使用雙引號,但在ASP中卻需要使用單引號才能正常執行。所以應當寫成insert into books(name,email) values(‘kitty’,‘kitty@263.com’)。
http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp;http://www.1cnz.cn/images/chaijie_default.pngnbsp; 解答:Microsoft ActiveX控件是由軟件提供商開發的可重用的軟件組件。除了ASP的內嵌對象外,另外安裝進來的ActiveX控件也可以在ASP中使用,這樣可以節省許多寶貴的開發時間,在ASP中其實也內嵌了很多的ActiveX控件可以使用。 使用ActiveX控件,可以很快地Web應用程序、以及開發工具中加入特殊的功能。例如,使用AdRotator對象來制作廣告滾動板,使用FileSystemObject對象進行文件存取,使用Marquee對象實現滾動文字。 現在,已有1000多個商用的ActiveX控件,開發ActiveX控件可以使用各種編程語言,如C,C++等,以及微軟公司的 Visual Java開發環境Microsoft Visual J++。 ActiveX控件一旦被開發出來,設計和開發人員就可以把它當作預裝配組件,用于開發客戶程序。以此種方式使用 ActiveX控件,使用者無需知道這些組件是如何開發的,在很多情況下,甚至不需要自己編程,就可以完成網頁或應用程序的設計。 目前由第三方軟件開發商提供的商用控件有1000多種。微軟ActiveX組件庫(ActiveX Component Gallery)中存著有關信息以及相關的連接,它們指向微軟及第三方開發商提供的各種 ActiveX 控件。在微軟ActiveX組件庫(ActiveX Component Gallery)中,可以找到開發Internet增強型ActiveX 控件的公司列表。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
ASP常見問題全集下載
相關電子資料下載
- 搭載 樹莓派5 Raspberry Pi 5 全新的HMI發布! 97
- 用于室內植物或圣誕樹的 Raspberry Pi Pico 水監控器 89
- 基于Raspberry Pi 5的蜂窩物聯網項目 466
- DIY基于Raspberry Pi的哈克斯管 100
- 如何超級簡單的 DIY 一臺 樹莓派5 供電的計算機 168
- 特勵達力科T3RapidWave4000榮獲ASPENCORE 2023亞洲金選獎 171
- 使用Raspberry Pi Pico實現簡單的邏輯分析儀 174
- 以創新碳化硅技術賦能,安森美獲ASPENCORE 2023全球電子成就獎和亞洲金選獎 142
- jvm metaspacesize大小設置 473
- jvm配置metaspace最大值的參數 387