asp網(wǎng)絡(luò)程序設(shè)計.doc_第1頁
asp網(wǎng)絡(luò)程序設(shè)計.doc_第2頁
asp網(wǎng)絡(luò)程序設(shè)計.doc_第3頁
asp網(wǎng)絡(luò)程序設(shè)計.doc_第4頁
asp網(wǎng)絡(luò)程序設(shè)計.doc_第5頁
已閱讀5頁,還剩80頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

網(wǎng)絡(luò)程序設(shè)計ASP指導(dǎo)思想:制作一個性能卓越的動態(tài)網(wǎng)站,需要具備HTML、VBSCRIPT、ASP/PHP等多方面的知識,并且要熟悉掌握DREAMWEAVER等多種工具。學(xué)習(xí)動態(tài)網(wǎng)站制作,力爭做到學(xué)以致用。掌握網(wǎng)站技術(shù)好壞程度的標(biāo)準(zhǔn)不是背熟各條命令,而是能夠自己動手制作功能完善、頁面精美的網(wǎng)站。動態(tài)網(wǎng)站的制作可以從模仿實例開始,通過大量的典型實例掌握最常見的命令及操作,在熟練的基礎(chǔ)上慢慢體會加入個人的創(chuàng)意,提高自己解決實際問題的能力。因此,學(xué)習(xí)動態(tài)網(wǎng)頁制作不是一條一條地背熟各種命令,而是通過實例把把零散的命令穿成一條項鏈,理解各種常用技術(shù)、操作的含義和實現(xiàn)手段。學(xué)習(xí)動態(tài)網(wǎng)頁應(yīng)掌握主要的命令、最常見的操作,其他不常用的命令、余下的“細(xì)枝末節(jié)”可以在解決實際問題中慢慢體會、學(xué)習(xí)。網(wǎng)站制作要求有很強(qiáng)的實踐應(yīng)用能力,學(xué)習(xí)操作最重要的是用它來開發(fā)網(wǎng)站。這種能力不是靠死讀書獲取的,需要花大量的時間上機(jī)實踐,可以說,網(wǎng)站制作能力的提高是與上機(jī)時間成正比的。其實,HTML、ASP、DREAMVEAVER不是一個專業(yè),也不是理論課程,而是工具。所以在學(xué)習(xí)中應(yīng)當(dāng)以強(qiáng)調(diào)應(yīng)用為主,不是從理論入手,而應(yīng)從實際問題入手。第1章 網(wǎng)絡(luò)程序設(shè)計概述教學(xué)內(nèi)容:1 介紹網(wǎng)絡(luò)程序設(shè)計語言的產(chǎn)生背景2 WWW的工作原理3 主要的網(wǎng)絡(luò)程序設(shè)計語言教學(xué)要求:1 了解服務(wù)器端和客戶端的概念2 了解有哪些網(wǎng)絡(luò)程序設(shè)計語言1.1網(wǎng)絡(luò)程序設(shè)計語言的產(chǎn)生背景Internet的起源推動了網(wǎng)絡(luò)程序設(shè)計語言的發(fā)展,Internet起源于美國國防部1969年開發(fā)的ARPAnet網(wǎng)。最初的網(wǎng)頁主要顯示一些靜態(tài)信息,用HTML來實現(xiàn),但是不能實現(xiàn)用戶的交互,必須打開HTML源代碼修改,不能在線修改信息。WWW從最初的提供信息資源,發(fā)展為遠(yuǎn)程教育、電子商務(wù)、電子管理等多種功能。1.2 WWW的工作原理1 什么是服務(wù)器端、客戶端凡是提供服務(wù)的一方稱為服務(wù)器端,接受服務(wù)的一方稱為客戶端。服務(wù)器端和客戶端并不是絕對的,如果服務(wù)器端接受別的服務(wù)器端的服務(wù),它就轉(zhuǎn)化成客戶端;反之,客戶端為別的客戶端提供服務(wù),就成為服務(wù)器端。和Response.Redirect url這兩句有什么不同呢?不同之處在于:這句是客戶端執(zhí)行語句,Response.Redirect是服務(wù)器端執(zhí)行語句。當(dāng)你借助某個工具查看由前者而實現(xiàn)跳轉(zhuǎn)功能的頁面的時候,你會看到此頁中含有的源代碼;而當(dāng)你查看后者使用Response.Redirect跳轉(zhuǎn)的ASP網(wǎng)頁的時候,你是看不到Response.Redirect的,你看到的卻是目標(biāo)網(wǎng)頁的源代碼。 簡單地說,服務(wù)器端是遠(yuǎn)程服務(wù)器,運行結(jié)果是由服務(wù)器產(chǎn)生的;客戶端就是網(wǎng)友的電腦。所有的動態(tài)網(wǎng)頁都是在服務(wù)器端執(zhí)行的,例如ASP、PHP、JSP;所有的靜態(tài)網(wǎng)頁都是在客戶端執(zhí)行的,例如JavaScript、Flash都是屬于靜態(tài)網(wǎng)頁。 再舉個例子,例如你使用JavaScript寫了一個顯示日期的程序,它顯示的只是客戶端的系統(tǒng)日期,如果你修改了你的電腦的系統(tǒng)日期,那么這個JavaScript程序的運行結(jié)果也會變。而如果使用ASP編寫了顯示日期的程序,如,顯示的則是服務(wù)器的日期。如果你修改了你的電腦的系統(tǒng)日期,這個顯示結(jié)果是不會變的。 2 靜態(tài)網(wǎng)頁的工作原理靜態(tài)網(wǎng)頁是指該網(wǎng)頁里沒有程序代碼,只有HTML標(biāo)記,以.htm或.html保存。它的內(nèi)容是固定不變的,除非修改源代碼,上傳到服務(wù)器上。其工作原理如下:用戶在瀏覽器里輸入一個URL地址后,向服務(wù)器端提出了一個瀏覽網(wǎng)頁的請求。服務(wù)器接到請求后,會查找要瀏覽的靜態(tài)網(wǎng)頁,發(fā)送給用戶。3 動態(tài)網(wǎng)頁的工作原理動態(tài)網(wǎng)頁,指該網(wǎng)頁不僅含有HTML標(biāo)記,而且包含程序代碼,這種網(wǎng)頁有特定的后綴,如.asp。動態(tài)網(wǎng)頁能根據(jù)不同的時間、不同的來訪者而顯示不同的內(nèi)容。如用戶登錄、BBS、留言板、搜索引擎等。例:百度為用戶傳遞搜索信息,并動態(tài)創(chuàng)建網(wǎng)頁,URL/baidu?tn=haojie&word=asp,?字符后的內(nèi)容都是查詢字符串。其工作原理:用戶在瀏覽器里輸入一個URL地址后,向服務(wù)器端提出了一個瀏覽網(wǎng)頁的請求。服務(wù)器端接到請求后,首先找到瀏覽的動態(tài)網(wǎng)頁文件,然后執(zhí)行網(wǎng)頁文件中的程序代碼,將含有程序代碼的動態(tài)網(wǎng)頁轉(zhuǎn)化為標(biāo)準(zhǔn)的靜態(tài)網(wǎng)頁,再將靜態(tài)網(wǎng)頁發(fā)送給用戶。由客戶機(jī)向服務(wù)器發(fā)出的請求主要有兩種:一種類型,客戶機(jī)可請求服務(wù)器給它發(fā)送資源(如圖片或MP3文件),這種類型稱為GET請求,因為它從服務(wù)器中“取得”信息。第二種類型,客戶機(jī)可請求服務(wù)器處理它所發(fā)送的資源,稱為POST請求,因為客戶機(jī)要將住處提交給服務(wù)器進(jìn)行處理,然后等待響應(yīng)。當(dāng)用戶使用GET或POST向服務(wù)器請求資源時,服務(wù)器對這些請求作出響應(yīng)并返回適當(dāng)?shù)臄?shù)據(jù)。但是,一旦信息返回給客戶機(jī),服務(wù)器就“忘記了”所有有關(guān)客戶機(jī)的信息。這是因HTTP是無狀態(tài)協(xié)議,有關(guān)連接和該連接另一端的信息-在從一個請求到另一個請求之間的這段時間內(nèi)不被保留。為此,有兩種解決方法;一是將有關(guān)客戶機(jī)的選擇信息存儲在臨時位置中,當(dāng)用戶瀏覽該網(wǎng)站時,臨時位置一直存在。當(dāng)用戶瀏覽到應(yīng)用程序的范圍之外,或關(guān)閉瀏覽器時,服務(wù)器可以刪除該臨時數(shù)據(jù)。二是將有關(guān)客戶機(jī)選擇的信息存儲在客戶計算機(jī)上,放在一個名為cookie的小文件中。1.3主要的網(wǎng)絡(luò)程序設(shè)計語言1 ASP全稱為Active Server Pages,活動服務(wù)器頁面,是微軟推出的代替CGI的動態(tài)服務(wù)器網(wǎng)頁技術(shù),一般接合ACCESS數(shù)據(jù)庫或SQL Server數(shù)據(jù)庫開發(fā)程序。ASP文件可運行在各種Wdows界面上,需在服務(wù)器端安裝IIS組件,如果是WIN98安裝PWS組件。ASP包含了使用VB Script或Jscript腳本程序代碼的網(wǎng)頁。當(dāng)瀏覽器瀏覽ASP網(wǎng)頁時, Web服務(wù)器就會根據(jù)請求生成相應(yīng)的HTML代碼然后再返回給瀏覽器,這樣瀏覽器端看到的 就是動態(tài)生成的網(wǎng)頁。ASP是一個服務(wù)器端腳本編寫環(huán)境,A所使用的腳本語言都在服務(wù)端上 運行,用戶端的瀏覽器不需要提供任何別的支持,這樣大提高了用戶與服務(wù)器之間的交互的速度。此外,它可通過內(nèi)置的組件實現(xiàn)更強(qiáng)大的功能,如使用ADO可以輕松地訪問數(shù)據(jù)庫。2 AASP之后,微軟又推出ASP.NET。這不是ASP的簡單升級,而是全新一代的動態(tài)網(wǎng)頁實現(xiàn)系統(tǒng),而是用于一臺WEB服務(wù)器建立強(qiáng)大的應(yīng)用程序。是微軟發(fā)展的新體系結(jié)構(gòu).NET的一部分,是ASP和.NET技術(shù)的結(jié)合。提供基于組件、事件驅(qū)動的可編程網(wǎng)絡(luò)表單,大簡化了編程。還可以用ASP.NET建 立網(wǎng)絡(luò)服務(wù)。 ASP與ASP.NET的區(qū)別I. 開發(fā)語言不同ASP僅局限于使用腳本語言來開發(fā),用戶給WEB頁中添加ASP代碼的方法與客戶端腳本中添加代碼的方法相同,導(dǎo)致代碼雜亂。ASP.NET允許用戶選擇并使用功能完善的編程語言,也允許使用潛加巨大的.NET Framework。 II. 運行機(jī)制不同 ASP是解釋運行的編程框架,所以執(zhí)行效率加較低。ASP.NET是編譯性的編程框架,運行是服務(wù)器上的編譯好的公共語言運行時庫代碼,可以利用早期綁定,實施編譯來提高效率。III. 開發(fā)方式 ASP把界面設(shè)計和程序設(shè)計混在一起,維護(hù)困難。ASP.NET把界面設(shè)計和程序設(shè)計以不同的文件分離開,復(fù)用性和維護(hù)性得到了提高。3 PHPPHP: Hypertext Preprocessor”,超文本預(yù)處理器的字母縮寫。可以運行在UNIX、Linux或Windows操作系統(tǒng)下,對客戶機(jī)沒有要求,但運行環(huán)境安裝較復(fù)雜。PHP與微軟的ASP頗有幾分相似,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言, PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。它可以比 CGI 或者 Perl 更快速的執(zhí)行動態(tài)網(wǎng)頁。PHP執(zhí)行引擎還會將用戶經(jīng)常訪問的PHP程序駐留在內(nèi)存中,其他用戶再一次訪問這個程序時就不需要重新編譯程序,只要直接執(zhí)行內(nèi)存中的代碼就可以。它也可以被編譯為一個 Apache 模塊,或者是一個CGI二進(jìn)制文件。PHP具有非常強(qiáng)大的功能,支持幾乎所有流行的數(shù)據(jù)庫以及操作系。PHP、MySQL數(shù)據(jù)庫和Apache web服務(wù)器是一個比較好的組合。4 JSPJSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)是用JAVA語言作為腳本語言的,JSP網(wǎng)頁為整個服務(wù)器端的JAVA庫單元提供了一個接口來服務(wù)于HTTP的應(yīng)用程序。 它是在傳統(tǒng)的網(wǎng)頁HTML文件 (*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。1.4 作業(yè):1 什么是靜態(tài)網(wǎng)頁、動態(tài)網(wǎng)頁、服務(wù)器端、客戶端2 靜態(tài)網(wǎng)頁的工作原理3 動態(tài)網(wǎng)頁的工作原理4 客戶機(jī)向服務(wù)器端發(fā)出的請求有幾種類型?第2章 ASP初步教學(xué)內(nèi)容:1 ASP的運行環(huán)境介紹2 如何新建、保存和瀏覽簡單的ASP文件教學(xué)目的:1 掌握IIS的安裝,設(shè)置虛擬目錄;2 掌握ASP站點的設(shè)置;3 編輯、保存ASP文件,并能瀏覽 21 ASP的運行環(huán)境學(xué)習(xí)ASP,必須建立ASP的運行環(huán)境;作為服務(wù)器端作如下安裝:1)Window Vista+IIS7.02)Windows2000+IIS5.03)Windows xp+IIS5.04)Windows 98+PWS4.05)Windows NT4.0+Windows NT Option Pack1 Windows xp下安裝IIS運行ASP 選擇“開始”-“設(shè)置”-“控制面板”命令,彈出“控制面板”窗口;雙擊“添加/刪除程序”圖標(biāo),彈出“添加/刪除程序”窗口;單擊窗口中左側(cè)的“添加/刪除Windows 組件”圖標(biāo),彈出“Windows組件向?qū)А贝翱冢辉凇敖M件”中選擇欄中選取“Internet信息服務(wù)(IIS)”,單擊“下一步”,進(jìn)行IIS的安裝。安裝完畢, 在瀏覽器中輸入http:/localhost,如能顯示出IIS歡迎字樣,表示安裝成功。選擇“開始”-“程序”-“管理工具”-“Internet服務(wù)管理器”,會出現(xiàn)“Internet信息服務(wù)”窗口。I. 瀏覽ASP文件 可采用以幾種方式之一來瀏覽ASP文件:http:/localhost/temp.asp/temp.asphttp:/計算機(jī)的名字/temp.asphttp:/計算機(jī)的IP 地址/temp.asp(一般是別人通過Internet訪問你的計算機(jī))II. 添加虛擬目錄選中“默認(rèn)WEB站點”,彈出快捷菜單,選擇“新建”“虛擬目錄”,添加別名即可。注意:雖然別名可以隨意起名,但為了便于管理網(wǎng)頁文件,最好將別名和站點名、站點文件夾保持一持。III. 設(shè)置默認(rèn)文檔默認(rèn)文檔指系統(tǒng)會自動查找執(zhí)行的文檔。選中新添加的虛擬目錄彈出快捷菜單,選擇“屬性”命令,出現(xiàn)“屬性”對話框,在其中添加index.asp、index.htm等默認(rèn)文檔。IV. 瀏覽虛擬目錄下的文件http:/localhost/虛擬目錄名/文件夾名/文件名.asp/虛擬目錄名/文件夾名/文件名.asp或打開“開始”-“程序”-“管理工具”-“Internet服務(wù)管理器”,會出現(xiàn)“Internet信息服務(wù)”窗口,選擇默認(rèn)站點下的虛擬目錄,選擇一個ASP文件用單擊右鍵的,在菜單中選擇“瀏覽”即可。V. 運行環(huán)境小結(jié)在c:inetpubwwwroot下建立子文件夾;為該文件夾添加虛擬目錄;為該虛擬目錄設(shè)置默認(rèn)文檔;在該文件夾下建立ASP文檔。2 vista 裝iis 并運行aspIIS在windows xp專業(yè)版中的設(shè)置是非常簡單,但是在windows vista中,由于vista考慮到系統(tǒng)的安全性,還是需要一些設(shè)置才能正常使用ASP+ Access。I. 安裝IIS7.0 第一步:進(jìn)入Vista的 控制面板,選擇左側(cè)的 打開或關(guān)閉Windows功能 。第二步:安裝IIS7的選項設(shè)置。單擊后會出現(xiàn)安裝Windows功能的選項菜單,注意選擇的項目,因為Vista的IIS7的默認(rèn)安裝選項中是不支持ASP和ASP.NET的,因此在安裝的時候必須手動選擇需要的功能。第三步:安裝完成后,再次進(jìn)入控制面板,選擇“ 管理工具”,會在管理工具下面會多出 IIS6的管理工具選項,選擇“管理工具-Internet信息服務(wù)管理器”進(jìn)行IIS7的設(shè)置。第四步:設(shè)置IIS7。選擇 Default Web Site,并雙擊 ASP 的選項;IIS7中ASP 父路徑是沒有啟用的,要用ASP,首先要開啟父路徑,選擇True。第五步:IIS7的站點設(shè)置。 右鍵單擊 Default Web Site 選項,選擇“ 高級設(shè)置”選項。在下面對話框中設(shè)置網(wǎng)站的主目錄 ,訪問的端口 等設(shè)置。我II. 設(shè)置目錄權(quán)限按照上面的步驟在Windows vista中只能調(diào)試ASP的程序,但是還是無法調(diào)試ASP+Access程序,這是因為windows vista的目錄權(quán)限問題。第一步:需要設(shè)置權(quán)限的目錄路徑如下:系統(tǒng)安裝盤:WindowsServiceProfilesNetworkServiceAppDataLocal,最好是手動輸入路徑,因為從Appdata的文件是隱藏的。右鍵單擊 Temp文件夾,選擇 屬性。第二步:選擇“安全” 選項,單擊“編輯” 按鈕,進(jìn)入 編輯權(quán)限 的對話框。第三步:選擇“添加”按鈕,添加用戶。第四步: 選擇“用戶或組”的對話框中,在 輸入對象名稱來選擇 的表單中,輸入大寫字幕A后,單擊 “ 確定”,系統(tǒng)會自動顯示所有帶有字幕A的系統(tǒng)用戶。第五步:在系統(tǒng)列出的用戶中,選擇 Athenticated Users 這個用戶,并單擊確定。第六步:添加完成這個用戶以后,選擇添加的用戶,單擊 完全控制,然后確定。22 ASP的開發(fā)工具 對于初學(xué)者,可以使用記事本、FrontPager來進(jìn)行ASP的代碼設(shè)計;為提高網(wǎng)頁編寫效率,可使用專用的開發(fā)工具進(jìn)行ASP編輯,如EditPlus,下載網(wǎng)址;它可將ASP腳本語言與HTML語言分開顏色顯示;或者DreamWeaver,建立站點,進(jìn)行編輯,可直接進(jìn)行ASP文件的預(yù)覽。我們這里使用Dreamweaver做為ASP的開發(fā)工具。23 制作簡單的ASP文件1 新建ASP文件在DREAMWEAVER 中新建一個ASP文檔,在代碼編輯狀態(tài)下輸入內(nèi)容:% if Time=#00:00:00# then %早上好,今天天氣不錯呵!% else if Time=#12:00:00# then %下午好!今晚您聊天了嗎?2 保存文件選擇“文件”-“保存”命令,彈出一個“文件另存為”對話框,將文件保存在指定的文件夾內(nèi),單擊“保存”。3 瀏覽ASP文件打開IE,輸入文件的IP地址瀏覽文件。4 在Dreamweaver 2004 MX下設(shè)置管理站點開發(fā)工具Dreamweaver 2004 MX,能方便的創(chuàng)建、調(diào)試和運行ASP程序。I. 設(shè)置站點在給網(wǎng)頁程序設(shè)置管理站點,首先要設(shè)置好虛擬目錄,例如實際路徑d:myasp,它的虛擬目錄名為myasp,在DW中的管理站點名設(shè)為“ASP實驗站點”,則具體操作如下:第一步:啟動Dreamweaver 2004 MX程序,選擇“站點站點管理”,則出現(xiàn)對話框:第二步:單擊“新建”按鈕,選擇“站點”,則屏幕顯示:輸入站點名:ASP實驗站點;單擊下一步,顯示如下對話框;第三步:選擇單選按鈕:“是,我想使用服務(wù)器技術(shù)”,然后根據(jù)下拉菜單選擇:ASP VBScript。單擊下一步;第四步:選擇文件存儲的實際位置,為:d:myasp。單擊下一步,繼續(xù)顯示如下:第五步:輸入該管理站點瀏覽的根目錄:http:/localhost/myasp/,然后單擊“測試URL(T)”按鈕,來測試設(shè)置是否成功。注:myasp即為前面已經(jīng)設(shè)置的路徑為:d:asptemp 的虛擬目錄名。測試成功,再單擊“下一步“:第六步:選擇單選按鈕“否”,單擊“下一步”則出現(xiàn)站點定義總結(jié),然后按“完成“按鈕,則結(jié)束對管理站點的設(shè)置。II. 在Dreamweaver中運行ASP文件打開 Dreamweaver2004 MX,然后選擇已建立的“ASP實驗站點”,在其下進(jìn)行創(chuàng)建、編輯和運行文件。將網(wǎng)頁保存到形如d:myasp目錄下,文件可命名為first.asp。選擇“在瀏覽器中預(yù)覽”,注意觀察輸出結(jié)果。 24 ASP的語法簡介ASP文件就是在標(biāo)準(zhǔn)的HTML文件中嵌入了VBScript腳本,放在標(biāo)記對中。1 ASP文件的基本組成三部分:普通的HTML文件;服務(wù)器端的Script程序代碼,位于內(nèi)的代碼;客戶機(jī)的Script程序代碼,位于.內(nèi)。2 ASP文件的約定代碼必須放在內(nèi);在ASP中,Vbscript是默認(rèn)的腳本語言;放在文件的第一行。lx.asp ASP文檔 sub check_submit() if document.form1.uname.value and _ document.form1.pwd.valuethen form1.submit else msgbox 嘿嘿不能提交哦! end if end sub Submit.htm username: password: CodePage:定義用于在瀏覽器中顯示頁內(nèi)容的代碼頁。代碼頁是字符集的數(shù)字值,不同的語言使用不同的代碼頁。例如,ANSI代碼 頁為1252,日文代碼頁為932,簡體中文代碼頁為936。一般情況下,上傳到國外網(wǎng)頁空間,或者提取數(shù)據(jù)庫記錄等出現(xiàn)亂碼時,就采用這種方法解決。 25開發(fā)ASP程序時的注意事項字母不分大小寫;字符串以外用到的標(biāo)點符號,必須在英文狀態(tài)下輸入;ASP語句必須分行寫; 的位置相對隨便; 養(yǎng)成良好的書寫習(xí)慣,程序設(shè)計時進(jìn)行恰當(dāng)?shù)目s進(jìn),閱讀起來方便易懂; 編寫ASP源程序時,可先設(shè)計好網(wǎng)頁格局,再將腳本語言插入到HTML語句中;以提高程序編寫效率;2.6 作業(yè):1 自己搭建ASP的運行環(huán)境;2 在移動磁盤上建立一個自己的目錄myasp,并將其設(shè)置為虛擬目錄myasp,設(shè)置默認(rèn)文檔為index.asp。3 在DreamWeaver中建立自己的站點myasp,站點文件夾就是上面創(chuàng)建的myasp文件夾。4 自己設(shè)計一個ASP文件;顯示來客訪問時期,并根據(jù)不同時段給出問候;第3章ASP腳本語言VBScript教學(xué)內(nèi)容:1 VBScript的數(shù)據(jù)類型2 VBScript常量與變量3 VBScript函數(shù)與過程4 VBScript條件語句與循環(huán)語句教學(xué)目的:1 熟練掌握變量的聲明、賦值、引用和命規(guī)則2 掌握各種運算符的使用;3 掌握幾種常用的轉(zhuǎn)換函數(shù):Cstr,Cint,Cdate4 掌握常用的字符串函數(shù):Len,Mid,Trim,Replace,Lcase,Ucase等5 會使用日期函數(shù):Date,Time,Now,Weekday6 掌握數(shù)學(xué)函數(shù)中的Rnd,Int7 掌握子程序與函數(shù)的聲明與調(diào)用,形式參數(shù)與實際參數(shù)8 會使用ForNext ,DoLoop循環(huán)語句設(shè)計程序9 會使用Ifelseend if, Select case條件語句31腳本語言概述可以嵌入到HTML頁面中,通過瀏覽器來解釋運行的程序代碼。ASP本身不是一種腳本語言,它為嵌入HTML頁面中的腳本語言提供了運行的支持環(huán)境,在ASP中常用的腳本語言是VBScript和JavaSCript,前者是ASP默認(rèn)的腳本語言;JavaSCript最初叫LiveScript,由網(wǎng)景公司推出的一種腳本語言,后隨著網(wǎng)景瀏覽器2.0的發(fā)行而改名為此;VBScript腳本語言是微軟公司開發(fā)的腳本語言,基于VB語言,簡單易學(xué)。腳本語言有兩種可用的形式:客戶端JavaScript、VBScript和服務(wù)端JavaScript、VBScript。前者指程序在本地瀏覽器上運行,后者指程序在服務(wù)器而不在客戶機(jī)上運行。在客戶端運行的腳本語言放在標(biāo)記對中,在服務(wù)器端運行的腳本語言放在標(biāo)記中。3.2 VBSript代碼的基本格式在服務(wù)器端添加的VBScript代碼放在ASP文件中,形式:或VBScript代碼注意:在ASP程序編寫時,文件開始一定加上;在普通ASP文件中加入VBScript代碼使用前一種簡寫形式;在Global.asa文件中加入VBScript代碼使用后一種方式。只在客戶端加入VBScript代碼,一般放在HTML文件中,形式:VBScript代碼3.3 VBSript的數(shù)據(jù)類型VBScript 只有一種數(shù)據(jù)類型,稱為 Variant。最簡單的 Variant 可以包含數(shù)字或字符串信息。Variant 用于數(shù)字上下文中時作為數(shù)字處理,用于字符串上下文中時作為字符串處理。如果使用的數(shù)據(jù)只可能是字符串,則 VBScript 將按字符串處理。Variant 子類型:除簡單數(shù)字或字符串以外,Variant 可以進(jìn)一步區(qū)分?jǐn)?shù)值信息的特定含義。例如使用數(shù)值信息表示日期或時間。此類數(shù)據(jù)在與其他日期或時間數(shù)據(jù)一起使用時,結(jié)果也總是表示為日期或時間。大多數(shù)情況下,可將所需的數(shù)據(jù)放進(jìn) Variant 中,而 Variant 也會按照最適用于其包含的數(shù)據(jù)的方式進(jìn)行操作。下表顯示 Variant 包含的數(shù)據(jù)子類型:子類型描述Empty未初始化的 Variant。對于數(shù)值變量,值為 0;對于字符串變量,值為零長度字符串 ()。Null不包含任何有效數(shù)據(jù)的 Variant。Boolean包含 True 或 False。Byte包含 0 到 255 之間的整數(shù)。Integer包含 -32,768 到 32,767 之間的整數(shù)。Currency-922,337,203,685,477.5808 到 922,337,203,685,477.5807。Long包含 -2,147,483,648 到 2,147,483,647 之間的整數(shù)。Single包含單精度浮點數(shù),負(fù)數(shù)范圍從 -3.402823E38 到 -1.401298E-45,正數(shù)范圍從 1.401298E-45 到 3.402823E38。Double包含雙精度浮點數(shù),負(fù)數(shù)范圍從 -1.79769313486232E308 到 -4.94065645841247E-324,正數(shù)范圍從 4.94065645841247E-324 到 1.79769313486232E308。Date (Time)包含表示日期的數(shù)字,日期范圍從公元 100 年 1 月 1 日到公元 9999 年 12 月 31 日。String包含變長字符串,最大長度可為 20 億個字符。Object包含對象。Error包含錯誤號。可以使用轉(zhuǎn)換函數(shù)來轉(zhuǎn)換數(shù)據(jù)的子類型。另外,可使用 VarType 函數(shù)返回數(shù)據(jù)的 Variant 子類型。3.4 VBSript的常量常量是具有一定含義的名稱,用于代替數(shù)字或字符串,其值從不改變。VBScript定義了許多固有常量。常量一般用大寫,其命名可使用字母、數(shù)字、下劃線等,但第一個字母必須是英文字母。不能使用關(guān)鍵字。注意:全局常量只在一個網(wǎng)頁有效。1創(chuàng)建常量使用Const語句在VBScript中創(chuàng)建用戶自定義常量。使用Const語句可以創(chuàng)建名稱具有一定含義的字符串型或數(shù)值常量,并給他們賦值。如:2 引用常量常量定義過后,就可以在程序的其他地方引用了。如:注意:常量的命名規(guī)則和一般的程序設(shè)計語言一樣,可以用字母、數(shù)字、下劃線,首字符必須是英文字母,長度最大255個字符。不能使用VBScript的關(guān)鍵字做常量名。命名常量要科學(xué)有一定含義。一般地:字符串文字包含在兩面?zhèn)€引號(” ”)之間。日期文字和時間文字包含在兩個(#)號之間,例如:Const CutoffDate=#6-1-97#3VBScript的通用常量:Ture:表示布爾真值False:表示布爾假值Empty:表示變量尚未初始化Nothing:表示對象沒有引用任何變量Null :表示不含有效數(shù)據(jù)的變量3.5 VBSript的變量變量是存儲在內(nèi)存中的用來包含數(shù)據(jù)的計算機(jī)內(nèi)存地址的名字,變量定義后可隨進(jìn)對其值進(jìn)行修改;如:可以創(chuàng)建一個名為ClickCount的變量來存儲用戶單擊Web頁面上某個對象的次數(shù)。使用變量并不需要了解變量在計算機(jī)內(nèi)存中的地址,只要通過變量名引用變量就可以查看或更改變量的值。1聲明變量聲明多個變量時,使用逗號分隔變量。例如:Dim Top,Bottom,Left,RightVBScript中,用變量前可以不定義先使用,賦值后自動定義。如果輸錯變量,會出現(xiàn)一個新變量,引起程序運行錯誤。為避免這種變量不一致引起的錯誤,可以在ASP文件中定義語句要求變量先定義后使用。注意:變量的作用范圍只在當(dāng)前網(wǎng)頁有效。2變量引用3.變量名命名規(guī)則:同常量命令規(guī)則3.6 VBScript數(shù)組有時候,將多個相關(guān)值賦給一個變量更為方便,因此可以創(chuàng)建包含一系列值的變量,稱為數(shù)組變量。數(shù)組就是存儲在內(nèi)存中的用來包含數(shù)據(jù)的一組地址的名字。下例聲明了一個包含11個元素的一維數(shù)組:Dim A(10)定長數(shù)組:另外也可聲明一個變長數(shù)組,或稱為動態(tài)數(shù)組,如:注意:VBSCript中的數(shù)組從0開始;也可以定義多維數(shù)組,如二維數(shù)組;3.7 VBScript運算符VBScript繼承了VB的所有類別的運算符,有算術(shù)運算符、比較運算符、邏輯運算符、連接運算符等。當(dāng)表達(dá)式包含多種運算符時,首先計算算術(shù)運算符,然后計算比較運算符,最后計算邏輯運算符。所有比較運算符的優(yōu)先級相同,即按照從左到右的順序計算比較運算符。算術(shù)運算符和邏輯運算符的優(yōu)先級如下所示:算術(shù)運算符比較運算符邏輯運算符描述符號描述符號描述符號求冪等于=邏輯非Not負(fù)號-不等于邏輯與And乘*小于邏輯異或Xor整除小于等于=邏輯隱含Imp加+對象引用比較Is減-字符串連接&算術(shù)運算符和連接運算符是常用的運算符:比較運算符用來連接兩個數(shù)字、兩個字符串或兩個日期,常在判斷句中應(yīng)用;bif ab then%邏輯運算符常用來進(jìn)行邏輯運算,常用And,or,Not3.8 VBScript函數(shù)函數(shù)是將復(fù)雜的功能編成了一個程序,用戶直接引用這個程序就可以完成功能,不須了解內(nèi)部如何計算。常用的VBScript函數(shù)有以下幾種:1轉(zhuǎn)換函數(shù)用來強(qiáng)制轉(zhuǎn)數(shù)據(jù),常用的轉(zhuǎn)換函數(shù)如下:I. CBool函數(shù):CBool(Variant)Variant(變量)轉(zhuǎn)換為 Boolean(布爾類型是否類型)。說明:如果 Variant的值 是零,則返回 False;否則返回 True。如果 Variant 不能解釋為數(shù)值,則將發(fā)生運行時錯誤。 下面的示例利用 CBool 函數(shù)把 expression(表達(dá)式) 轉(zhuǎn)換為 Boolean。如果 expression 不為零, CBool 返回 True;否則,返回 False。 Dim A, B, CheckA = 5: B = 5 初始化變量Check = CBool(A = B) check的值為 TrueA = 0 定義變量Check = CBool(A) 復(fù)選框設(shè)為 FalseII. Cdate函數(shù):CDate(date)將Variant被轉(zhuǎn)換為 Date 子類型的。date 參數(shù)是任意有效的日期表達(dá)式。說明:IsDate 函數(shù)用于判斷 date 是否可以被轉(zhuǎn)換為日期或時間。CDate 識別日期文字和時間文字,以及一些在可接受的日期范圍內(nèi)的數(shù)字。在將數(shù)字轉(zhuǎn)換為日期時,數(shù)字的整數(shù)部分被轉(zhuǎn)換為日期,分?jǐn)?shù)部分被轉(zhuǎn)換為從午夜開始計算的時間。CDate 根據(jù)系統(tǒng)的區(qū)域設(shè)置識別日期格式。如果數(shù)據(jù)的格式不能被日期設(shè)置識別,則不能判斷年、月、日的正確順序。另外,如果長日期格式包含表示星期幾的字符串,則不能被識別。 下面例子利用 CDate 函數(shù)把字符串轉(zhuǎn)換為日期。III. Cdbl函數(shù): CDbl(expression)Variant的值被轉(zhuǎn)換為 Double 子類型。說明:通常,例如在出現(xiàn)貨幣或整數(shù)運算的情況下,使用 CDbl 或 CSng 函數(shù)強(qiáng)制進(jìn)行雙精度或單精度算術(shù)運算。IV. CInt函數(shù): CInt(expression)Variant被轉(zhuǎn)換為 Integer 子類型。 expression 參數(shù)是任意有效的表達(dá)式。說明:通常,在出現(xiàn)貨幣、單精度或雙精度運算的情況下,使用 CInt 或 CLng 強(qiáng)制執(zhí)行整數(shù)運算。如果 expression 在 Integer 子類型可接受的范圍之外,則發(fā)生錯誤。下面的示例利用 CInt 函數(shù)把值轉(zhuǎn)換為 Integer: 注意 CInt函數(shù)通常將其四舍五入為最接近的偶數(shù)。例如,0.5 被四舍五入為 0,而 1.5 被四舍五入為 2。 V. CLng函數(shù): CLng(expression)Variant被轉(zhuǎn)換為 Long 子類型。expression 參數(shù)是任意有效的表達(dá)式。說明:通常,在出現(xiàn)貨幣運算、單精度或雙精度算術(shù)運算的情況下,使用 CInt 或 CLng 函數(shù)強(qiáng)制進(jìn)行整數(shù)運算。如果 expression 取值不在 Long 子類型的允許范圍內(nèi),則會出現(xiàn)錯誤。下面的示例利用 CLng 函數(shù)把值轉(zhuǎn)換為 Long: 注意當(dāng)小數(shù)部分恰好等于 0.5 時, CLng 函數(shù)通常向與此數(shù)最接近的偶數(shù)取整。例如,0.5 取整為 0、1.5 取整為 2。 VI. CSng函數(shù): CSng(expression)Variant被轉(zhuǎn)換為 Single 子類型。expression 參數(shù)是任意有效的表達(dá)式。說明:通常,在出現(xiàn)貨幣或整數(shù)運算的情況下,使用 CDbl 或 CSng 強(qiáng)制執(zhí)行雙精度或單精度運算。如果 expression 在 Single 子類型允許的范圍之外,則發(fā)生錯誤。下面的示例利用 CSng 函數(shù)把值轉(zhuǎn)換為 Single: VII. Cstr函數(shù): CStr(expression)Variant被轉(zhuǎn)換為 String 子類型。expression 參數(shù)是任意有效的表達(dá)式說明:通常,可以使用子類型轉(zhuǎn)換函數(shù)書寫代碼,以顯示某些操作的結(jié)果應(yīng)被表示為特定的數(shù)據(jù)類型,而不是默認(rèn)類型。例如,使用 CStr 強(qiáng)制將結(jié)果表示為 String。 下面的示例利用 CStr 函數(shù)把數(shù)字轉(zhuǎn)換為 String: 2字符串函數(shù)VBscript包括大量用于操作字符串的函數(shù)。當(dāng)操作來自HTML表單或數(shù)據(jù)庫的數(shù)據(jù)時,這些函數(shù)非常有用。這些函數(shù)可以拼接字符串,抽取字符串,搜索字符串,和比較字符串。常用的有trim,mid,left,right等函數(shù)。如:%StrTemp=Mid(This a good book”,8,4) 取字符串的一部分,返goodStrTemp=Trim(“ Black “) 去掉兩邊空格,返回BlackStrTemp=Ucase(“welcome!”) 將所有小寫字母轉(zhuǎn)換為大寫字母,返回WELCOMENumTemp=InStr(,”) 返回第二個字符串在第一個字符串中的出現(xiàn)的位置,返回5StrTemp=Replace(“abcdb”,”ab”,”*”) 將abcdb中的ab都替換為*,返回*cdbSplit函數(shù)將一個字符串分解一維數(shù)組,常用于表單中的多行文本的段落的區(qū)分;如:%dim MyStrMyStr=split(“Welcome *to*my*web!”,”8”) 以*為分界符拆分Response.write MyStr(0)&”Response.write MyStr(1)&”Response.write MyStr(2)&”日期和時間函數(shù)now():取得系統(tǒng)當(dāng)前的日期和時間date():取得系統(tǒng)當(dāng)前的日期time():取得系統(tǒng)當(dāng)前的時間year():取得給定日期的年份month():取得給定日期的月份day():取得給定日期是幾號hour():取得給定時間是第幾小時minute():取得給定時間是第幾分鐘second():取得給定時間是第幾秒WeekDay():取得給定時間是星期幾的整數(shù)Datediff():計算兩個日期或時間的間隔DateAdd():對兩個日期或時間作加法FormatDateTime():轉(zhuǎn)化為各種日期格式例:%response.write “你來訪的日期”&Date() 顯示來訪的日期response.write “你來訪的時間”&Time() 顯示來訪的時間response.write “你來訪的時間”&Now() 顯示來訪的日期和時間NumTemp=Month(date() 返回當(dāng)天是一年中的哪一月NumTemp=Month(#2006-03

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論