【文章內(nèi)容簡介】
所獨具的一些特點: 、JScript等簡單易懂的腳本語言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。,容易編寫,可在服務(wù)器端直接執(zhí)行。,如Windows的記事本,即可進行編輯設(shè)計。,用戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽ASP所設(shè)計的網(wǎng)頁內(nèi)容。ASP所使用的腳本語言(VBScript 、Jscript)均在WEB服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。 scripting語言相容。除了可使用VBScript或JScript語言來設(shè)計外,還通過plugin的方式,使用由第三方所提供的其他腳本語言,譬如REXX、Perl、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model)物件。,不會被傳到客戶瀏覽器,因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。(Objectoriented)。 Server Components(ActiveX服務(wù)器元件)具有無限可擴充性??梢允褂肰isual Basic 、Java 、Visual C++ 、COBOL等編程語言來編寫你所需要的ActiveX Server Component。,ASP技術(shù)的處理速度相當(dāng)快,并且其安全性也很高。ASP最重要的優(yōu)點是能夠建立對諸如時間、地點、用戶標(biāo)志、以前的選擇和活動等因素敏感的頁面。換句話說,可針對每個用戶的個別需求,用ASP定制網(wǎng)頁,能夠滿足用戶的各種需求??傊?,ASP包含三方面含義::ASP使用了微軟的ActiveX技術(shù)。ActiveX(COM)技術(shù)是現(xiàn)在Microsoft軟件的重要基礎(chǔ)。它采用封裝對象,程序調(diào)用對象的技術(shù),簡化編程,加強程序間合作。ASP本身封裝了一些基本組件和常用組件,有很多公司也開發(fā)了很多實用組件。只要你可以在服務(wù)器上安裝這些組件,通過訪問組件,你就可以快速、簡易地建立自己的WEB應(yīng)用。:ASP運行在服務(wù)器端。這樣就不必擔(dān)心瀏覽器是否支持ASP所使用的編程語言。ASP的編程語言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一個簡集,會VB的人可以很方便的快速上手。然而Netscape瀏覽器不支持客戶端的VBSCRIPT,所以最好不要在客戶端使用VBSCRIPT。而在服務(wù)器端,則無需考慮瀏覽器的支持問題。Netscape瀏覽器也可以正常顯示ASP頁面。:ASP返回標(biāo)準(zhǔn)的HTML頁面,可以正常地在常用的瀏覽器中顯示。瀏覽者查看頁面源文件時,看到的是ASP生成的HTML代碼,而不是ASP程序代碼。這樣就可以防止別人抄襲程序。由此可以看出,ASP是在IIS下開發(fā)WEB應(yīng)用的一種簡單、方便的編程工具。在了解了VBSCRIPT的基本語法后,只需要清楚各個組件的用途、屬性、方法,就可以輕松編寫出自己的ASP系統(tǒng)。 運行 ASP 所需的環(huán)境如下:☆Microsoft Internet Information Server version ☆Microsoft Peer Web Services Version on Windows NT Workstation☆Microsoft Personal Web Server on Windows 95/98與一般的程序不同,ASP程序無須編譯。ASP程序的控制部份,是使用VBScript、JScript等腳本語言來設(shè)計的,當(dāng)執(zhí)行ASP程序時,腳本程序?qū)⒁徽酌畎l(fā)送給腳本解釋器(即腳本引擎),由腳本解釋器進行翻譯并將其轉(zhuǎn)換成服務(wù)器所能執(zhí)行的命令。當(dāng)然,同其他編程語言一樣,ASP程序的編寫也遵循一定的規(guī)則,如果你想使用你所喜愛的腳本語言編寫ASP程序,那么你的服務(wù)器上必須要有能解釋這種腳本語言的腳本解釋器。當(dāng)你安裝ASP時,系統(tǒng)提供了兩種腳本語言:VBSrcipt和JScript,而VBScript則被作為系統(tǒng)默認的腳本語言。,可以用任何文本編輯器打開它,ASP程序中可以包含純文本、HTML標(biāo)記以及腳本命令。(該目錄必須要有可執(zhí)行權(quán)限),就可以通過WWW的方式訪問ASP程序了。要學(xué)好ASP程序的設(shè)計,必須掌握腳本的編寫,那么究竟什么是腳本呢?其實腳本是由一系列的腳本命令所組成的,如同一般的程序,腳本可以將一個值賦給一個變量,可以命令Web服務(wù)器發(fā)送一個值到客戶瀏覽器,還可以將一系列命令定義成一個過程。要編寫腳本,你必須要熟悉至少一門腳本語言,如VBScript。腳本語言是一種介于HTML和諸如JAVA、Visual Basic、C++等編程語言之間的一種特殊的語言,盡管它更接近后者,但它卻不具有編程語言復(fù)雜、嚴謹?shù)恼Z法和規(guī)則。如前所述ASP所提供的腳本運行環(huán)境可支持多種腳本語言,譬如:JScript、REXX、PERL等等,這無疑給ASP程序設(shè)計者提供了廣泛的發(fā)揮余地。ASP的出現(xiàn)使得廣大Web設(shè)計者不必在為客戶瀏覽器是否支持而擔(dān)心,都無須為此擔(dān)憂,因為所有的一切都將在服務(wù)器端進行,客戶瀏覽器得到的只是一個程序執(zhí)行的結(jié)果,而你也只需在文件中聲明使用不同的腳本語言即可。ASP的對象和組件:這7個固有對象分別是Request、Response、Server、Application、Session、ASPError和ObjectContext。Request對象用來處理用戶做出的請求,就是處理用戶要求瀏覽器查看特定的網(wǎng)頁或Web應(yīng)用時做出的請求。此請求可以HTML的形式輸入或僅以URL的形式作出。Response對象用來處理從Web服務(wù)器向用戶發(fā)送信息并對此信息進行控制。Serve對象用來代表服務(wù)器自身。因此它提供幾個與Web服務(wù)器可能要完成的任務(wù)相關(guān)的常用功能,諸如建立新對象和設(shè)置腳本的超時特性等。還有通過將不合法字符轉(zhuǎn)化為合法字符,把字符串轉(zhuǎn)換為URL和HTML正確的使用格式的方法。Application對象用來代表應(yīng)用,可用它來管理諸如應(yīng)用目錄這一類的東西。Session對象用來代表用戶會話,并存儲該會話的信息??衫肧ession對象來管理如Web服務(wù)器在用戶“請求”之間等待的時間等。ObjectContext對象用來管理事務(wù)處理。它目前已經(jīng)集成到Windows2000操作系統(tǒng)中了。它包含了所有ASP其他對象,可通過ObjectContext引用ASP的每個對象。 Data Access ComponentMDAC作為操作系統(tǒng)的組成部分的組件,與ASP一起提供。此組件中包含一組稱為ActiveX Data Object(ADO)的對象,他們對于查看不同平臺上的各種數(shù)據(jù)(數(shù)據(jù)庫、表單、文本文件)是必不可少的。ADO主要有3個對象,分別是Connection、Command和Recordset。Connection對象就是使ADO與數(shù)據(jù)庫之間建立一個通道,也就是實現(xiàn)與數(shù)據(jù)庫的連接。Command對象就是對數(shù)據(jù)庫進行發(fā)號施令,比如建立新的索引,執(zhí)行查詢等,它可以通過標(biāo)準(zhǔn)的SQL數(shù)據(jù)庫操作語言得以實現(xiàn)。Recordset對象是一個數(shù)據(jù)記錄集,它包含了我們檢索出來的記錄數(shù)據(jù),通過它可以直接對數(shù)據(jù)庫進行修改?;顒臃?wù)器組件是與ASP一起免費帶來的組件或DLL,他們有著廣泛的用途。主要包括AD Rotator、Browser Capabilities、Content Link、Content Rotator、Counters、logging Utility、MyInfo、Page Counter、permission Checker、tools等組件。由于本次設(shè)計用到的不多,在此就不詳細介紹了他們分別是Dictionary、,在此就不詳細介紹了。 電子商務(wù)數(shù)據(jù)訪問方式 電子商務(wù)是指通過電子方式,并在網(wǎng)絡(luò)基礎(chǔ)上實現(xiàn)物資、人員過程的協(xié)調(diào),以便商業(yè)交換的活動。在電子商務(wù)系統(tǒng)中,Web提供了與客戶進行通信聯(lián)絡(luò)的有效手段,利用Web技術(shù),實現(xiàn)Web服務(wù)器與數(shù)據(jù)庫系統(tǒng)的連接,完成對數(shù)據(jù)的處理與查詢,用戶可以通過操作簡單易學(xué)的瀏覽器來查詢處理所需要的各種數(shù)據(jù)。 實現(xiàn)Web服務(wù)器與數(shù)據(jù)庫的連接一般有兩種方法:一種是利用中間件技術(shù)在兩者之間建立連接和通信,如CGI(通用網(wǎng)關(guān)接口)和API(應(yīng)用程序編程接口)。Web服務(wù)器通過調(diào)用CGI程序?qū)崿F(xiàn)與Web瀏覽器的交互,即CGI程序接受瀏覽器發(fā)給Web服務(wù)器的信息,進行處理后,將相應(yīng)結(jié)果再送回給Web服務(wù)器,通過Web服務(wù)器將信息傳送給瀏覽器。但CGI程序在響應(yīng)速度和資源利用等方面有較大局限性,客戶端每請求一個CGI程序,服務(wù)器端便打開一個進程,當(dāng)請求的數(shù)量較大時容易引起瓶頸現(xiàn)象,開發(fā)人員常利用API編程來擴展服務(wù)器功能,API程序占系統(tǒng)資源少,運行效率較高,但它的編程較CGI程序更為復(fù)雜。另一種是由瀏覽器中的Java小應(yīng)用程序(Java Applet)通過瀏覽器訪問Web服務(wù)器上的數(shù)據(jù)庫,利用了JDBC(Java Database Connectivity)技術(shù),它通過JDBC提供的API實現(xiàn)對Web Server的訪問。由于Java Applet本身的局限性,目前大多數(shù)的應(yīng)用是基于中間件技術(shù)的。 ASP也是屬于中間件的一種模式,但在Windows平臺上它比較網(wǎng)關(guān)及服務(wù)器擴展模式有著較大的優(yōu)點。網(wǎng)關(guān)的最大特點是它的平臺無關(guān)性,但網(wǎng)關(guān)程序通常較難編寫和改變。網(wǎng)關(guān)程序通常是一個獨立的程序,并不和HTML文件融合在一起,它需要用如C、C++、VB、Perl等語言來編寫?yīng)毩⒌膽?yīng)用程序,而ASP應(yīng)用改變了這一點。使用ASP不僅可以讀取Access和 SQL Server的數(shù)據(jù)庫,而且還可以讀取其他ODBC(Open Database Connect 開放式數(shù)據(jù)庫互聯(lián))兼容的數(shù)據(jù)庫。在ASP中訪問數(shù)據(jù)庫是通過ADO(ActiveX Database Object活動數(shù)據(jù)對象)及事務(wù)處理語句來實現(xiàn)的。ADO是一種操作Microsoft所支持的數(shù)據(jù)庫的方法,是一項容易使用并且可擴展的將數(shù)據(jù)庫訪問添加到 Web 頁的技術(shù)。ADO對象的使用與DAO(數(shù)據(jù)訪問對象)、RDO(遠程數(shù)據(jù)對象)的方式相似。在ASP中,ADO可以看作是一個服務(wù)器組件,更簡單點說,是一系列的對象,應(yīng)用這些功能強大的對象,即可輕松完成對數(shù)據(jù)庫復(fù)雜的操作。 ASP在電子商務(wù)中的應(yīng)用 在電子商務(wù)中,對用戶而言,進行網(wǎng)上信息查詢的目的是尋找自己需要的產(chǎn)品或服務(wù),而對于商品或服務(wù)提供者來說,其目的則是向用戶推銷自己的產(chǎn)品或服務(wù)。因此,讓用戶通過瀏覽器查詢服務(wù)器的后端數(shù)據(jù)庫是許多Web服務(wù)提供者必需有的服務(wù),ASP通過內(nèi)置的ADODB組件來實現(xiàn)這一功能。可以使用ADO去編寫緊湊簡明的腳本以便連接到ODBC 兼容的數(shù)據(jù)庫和 OLE DB 兼容的數(shù)據(jù)源。具體的操作步驟可以歸納為以下幾步:① 創(chuàng)建數(shù)據(jù)庫源名(DSN) ADODB通過ODBC工作,因此要在ODBC中設(shè)置DSN(數(shù)據(jù)源名)。打開Windows的控制面板,雙擊ODBC的圖標(biāo),然后選擇文件 DSN 的屬性頁,單擊添加,選擇數(shù)據(jù)庫驅(qū)動程序,然后單擊下一步,按照屏幕的指示鍵入數(shù)據(jù)源文件的名稱,然后單?quot。下一步,再單擊完成創(chuàng)建數(shù)據(jù)源。②創(chuàng)建數(shù)據(jù)庫鏈接 鏈接用以保持一些關(guān)于正在訪問的數(shù)據(jù)的動態(tài)信息,以及鏈接者信息。利用ADODB的成員函數(shù)Open和先前設(shè)定的DSN與數(shù)據(jù)庫連接,其語法如下: SetConnect=() 39。創(chuàng)建了鏈接對象Connect。 (DSN=dsnname;UID=userID;PWD=password) 39。打開鏈接。dsnname為數(shù)據(jù)源名;userID為用戶名;password為用戶口令。③創(chuàng)建數(shù)據(jù)對象 ADO中的數(shù)據(jù)對象通常保存的是查詢結(jié)果。RecordSet 是ADO中最復(fù)雜的對象,有許多屬性和方法,靈活運用,可以達到許多好的效果。其創(chuàng)建方法如下: Set RecordSet =(sqtStr) 39。創(chuàng)建并打開了對象RecordSet ,sqtStr是一個串,代表一條標(biāo)準(zhǔn)的SQL語句。例如: sqlStr=SELECT*FROM b1 Set RecordSet =(sqlStr) 這條語句執(zhí)行后,對象RecordSet中就保存了b1中的所有記錄。 ④操作數(shù)據(jù)庫 可利用Execute方便地執(zhí)行數(shù)據(jù)的插入、修改、刪除等操作。如執(zhí)行插入操作: sqlStr=Insert Into b1Values(1,2) (sqlStr)⑤關(guān)閉數(shù)據(jù)對象和鏈接 在使用了ADO對象之后,一定要關(guān)閉數(shù)據(jù)對象和鏈接。在ASP中通過調(diào)用方法close實現(xiàn)關(guān)閉。 關(guān)閉創(chuàng)建的數(shù)據(jù)對象:Record Set .close Set Record Set=Nothing 關(guān)閉創(chuàng)建的鏈接對象:Connect. close Set Connect=Nothing 完整的程序片段: % SetConnect=()39。產(chǎn)生組件實例 (DSN=dsnname。UID=userID。PWD=password) 39。連接數(shù)據(jù)庫 SQL=select*fromtablename SetRS=(SQL) 39。執(zhí)行查詢 ?。? %DoWhile Not %39。顯示結(jié)果 %=RS(fieldname)% % Loop ?。?上述是用ASP訪問數(shù)據(jù)庫的全過程,由于應(yīng)用面向?qū)ο笏枷?,所有操作都比較簡單,用戶需要注意的僅是對數(shù)據(jù)結(jié)構(gòu)的了解、當(dāng)前所操作的對象及對象的屬性等等,只要對這些有了清晰的認識,再加上ASP強大功能,在網(wǎng)絡(luò)上使用數(shù)據(jù)庫,實現(xiàn)用戶與頁面間交換信息,就再也不是什么難事了。隨著Web技術(shù)的發(fā)展,基于Intranet的電子商務(wù)系統(tǒng)無疑較傳統(tǒng)商務(wù)有著更大的應(yīng)用前景,如何提務(wù)系高這種電子商統(tǒng)中的數(shù)據(jù)訪問效率及事務(wù)處理能力仍是當(dāng)前人們所關(guān)注的問題。 SQL語句介紹SQL全稱是“結(jié)構(gòu)化查詢語言(Structured Query Language)”,最早的是IBM的圣約瑟研究實驗室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡潔,功能強大,簡單易學(xué),所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應(yīng)用。如今無論是像Oracle ,Sybas