




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第5章 ASP基礎及應用,5.1 ASP基礎 5.2 ASP的基本語法和規(guī)則 5.3 Global.asa文件 5.4 ASP與HTML表單的結(jié)合使用 5.5 實訓,學習目的與要求: 本章的主要學習目的是理解ASP的文件定義、工作原理和運行環(huán)境,ASP的基本語法和編程規(guī)則,掌握ASP文件的結(jié)構(gòu)。介紹了包含文件的使用、Global.asa的框架結(jié)構(gòu)、實現(xiàn)功能。在掌握基本的輸入輸出語句、ASP基本語法的基礎上,能夠?qū)崿F(xiàn)簡單ASP文件的交互處理。,5.1 ASP基礎,5.1.1 ASP定義 5.1.2 ASP的特點 5.1.3 ASP工作原理 5.1.4 ASP的內(nèi)建對象,5.2 ASP的基本語法和
2、規(guī)則,5.2.1 ASP文件的組成 5.2.2 %=表達式%與Response.Write兩種輸出方式 5.2.3包含文件,5.3 Global.asa文件,5.3.1 Global.asa的定義 5.3.2 Global.asa文件的結(jié)構(gòu),5.4 ASP與HTML表單的結(jié)合使用,5.4.1 利用Request.Form集合來獲取數(shù)據(jù) 5.4.2 利用Request.QueryString集合來獲取數(shù)據(jù) 5.4.3 在ASP程序中實現(xiàn)數(shù)據(jù)交互,5.5實訓,實訓4 建立一個交互式ASP文件 實訓5 包含文件的應用 實訓6 Global.asa文件的應用,5.1.1 ASP定義,ASP全稱為Act
3、ive Server Pages,是一套微軟開發(fā)的服務器端腳本環(huán)境。ASP 內(nèi)含于 IIS 3.0 和 4.0 之中 , 通過ASP可以結(jié)合HTML 網(wǎng)頁、ASP指令和ActiveX組件,建立動態(tài)、交互且高效的 WEB 服務器應用程序。 ASP文件(即*.asp文件)與HTML文件類似,但ASP文件可以包含腳本命令,腳本命令放在之間。當用戶請求一個*.asp主頁時,WWW響應HTTP請示調(diào)用ASP引擎,解釋被申請的文件,當遇到與ActiveX Scripting兼容的腳本(VBScript或JScript)時ASP引擎調(diào)用相應的腳本引擎進行處理。ASP腳本在服務器端解釋執(zhí)行,結(jié)果自動生成符合H
4、TML語言的主頁去響應用戶的請求。ASP目前已成為目前應用最廣泛的動態(tài)網(wǎng)頁開發(fā)工具,同時應用ASP進行網(wǎng)絡化的信息管理系統(tǒng)也逐步得到推廣。,5.1.2 ASP的特點,1. 使用 VBScript 、JScript 等簡單的腳本語言,結(jié)合 HTML 代碼,即可快速地完成網(wǎng)站的應用程序。 2. 使用普通的文本編輯器。 3. 與瀏覽器無關(guān) (Browser Independence), 用戶端只要使用可執(zhí)行 HTML 碼的瀏覽器,即可瀏覽 Active Server Pages 所設計的網(wǎng)頁內(nèi)容。 4. Active Server Pages能與任何ActiveX Scripting語言相容。 5.
5、 Active Server Pages 的源程序,不會被傳到客戶瀏覽器。 6. 可使用服務器端的腳本產(chǎn)生客戶端的腳本。,5.1.3 ASP工作原理,1. 普通HTML的執(zhí)行過程 2. ASP的執(zhí)行過程 3. 程序運行比較,1. 普通HTML的執(zhí)行過程,流程處理、工作原理分別如圖5.1、5.2所示,圖5.1 普通HTML的處理流程,圖 5.2 普通HTML的工作原理,特點: 內(nèi)容不再變化;頁面中只有HTML標記,沒有程序代碼,2. ASP的執(zhí)行過程,當在Web站點中融入ASP功能后,將發(fā)生以下事情,如圖5.3所示:, (1)用戶向瀏覽器地址欄輸入網(wǎng)址,默認頁面的擴展名是.asp。 (2)瀏覽器
6、向服務器發(fā)出請求。 (3)服務器引擎開始運行ASP程序。 (4)ASP文件按照從上到下的順序開始處理,執(zhí)行腳本命令,執(zhí)行HTML頁面內(nèi)容。 (5)頁面信息發(fā)送到瀏覽器。 ASP文件具體工作原理如圖5.4所示。,圖 5.3 ASP的執(zhí)行過程,圖 5.4 ASP的工作原理,3. 程序運行比較,【例5.1】程序5.1html.htm是普通HTML文件,5.1asp.asp是ASP文件,我們通過分析比較,來觀察這兩種文件的不同之處。,5.1html.htm的源程序如下: html文件 這是一個html文件 5.1html.htm的執(zhí)行結(jié)果及在IE“查看”|“源文件”看到的結(jié)果,如圖5.5所示。,圖5.
7、5 5.1html.htm的運行結(jié)果、在IE瀏覽器中觀察到“源文件”,5.1asp.asp,源程序如下: 這是一個帶ASP的動態(tài)網(wǎng)頁 這是一個帶ASP的動態(tài)網(wǎng)頁,以下內(nèi)容是ASP生成的 ,圖5.6 5.1asp.asp運行結(jié)果、在IE瀏覽器中觀察到的“源文件”,5.1asp.asp運行結(jié)果、IE瀏覽器中觀察到的“源文件”,3-結(jié)論,5.1asp.asp 文件,將100的純HTML代碼發(fā)送到客戶端,所以我們在客戶端看到的代碼還是HTML,并不是ASP的源代碼。這樣做,就可以很少地考慮IE和Netscape 之間的區(qū)別了,從而避免了源代碼的外泄。,5.1.4 ASP的內(nèi)建對象,ASP提供了內(nèi)置對象
8、,這些對象使用戶更容易收集通過瀏覽器請求發(fā)送的信息、響應瀏覽器以及存儲用戶信息(如用戶首選項)。在使用時并不需要經(jīng)過任何聲明或建立的過程。 Application對象,能夠存儲給定應用程序的所有用戶共享信息。 Request對象,能夠獲得任何用 HTTP請求傳遞的信息。 Response對象,能夠控制發(fā)送給用戶的信息。 Server對象,提供對服務器上的方法和屬性進行的訪問。 Session 對象,能夠存儲特定的用戶會話所需的信息。 ObjectContext 對象,可以提交或撤消由 ASP 腳本初始化的事務。,5.2.1 ASP文件的組成,1. ASP組成 一個簡單的ASP文件包括以下三個部
9、分: 普通的HTML標記; ASP代碼; Script語言代碼。,2.說明 HTML標記,用“”符號將HTML代碼包括起來。HTML代碼是在用戶使用的瀏覽器中執(zhí)行的。 ASP代碼 在HTML標記中,用“”符號將ASP代碼包括起來。ASP代碼是在Web服務器端被解釋成HTML語句,并返回到瀏覽器中執(zhí)行的。 Script代碼 以“”開頭,以“”結(jié)尾。其中的腳本語言名可以是VBScript或JavaScript。屬于HTML標記。,3.程序舉例 下面以一個簡單的ASP文件來做舉例說明。 【例5.2】一個簡單的ASP程序5.2.asp 一個簡單的ASP文件-5.2.asp 本語句是html標記語句,直
10、接輸出! 瀏覽器直接輸出:I 變量I的值是:& I % ,圖5.8 例5.3的運行結(jié)果,5.2.2 %=表達式%與Response.Write兩種輸出方式,1. Response.Write 語句格式: Response.Write 字符串 功能:負責把字符串信息輸出到瀏覽器。 說明:字符串,要用 引起來內(nèi)容。 的輸出,要重復使用“”字符來顯示。 如:Response.Write Good morning!,可以實現(xiàn)輸出“Good morning”的字符串 2. 這是Response.Write的一種簡單的表達方式,這種簡便的方法通常配合HTML使用。 如:,可以實現(xiàn)輸出“ASP基礎”的字符串
11、。 ,可以實現(xiàn)時間的輸出。 建議大家不要濫用此語句,否則會造成閱讀難于理解。,3. 程序舉例 【例5.3】Response.Write輸出舉例5.3.asp 現(xiàn)在時間 隨機數(shù) 運行結(jié)果如圖5.8所示。,圖5.8 例5.3的運行結(jié)果,5.2.3包含文件,程序要在多個網(wǎng)頁中都要調(diào)用某些程序的話,使用包含文件能較好的解決這個問題。包含文件可以減少編寫程序的工作量,增加程序的可讀性,易于開發(fā)和維護。 具體的做法是:你可以把這些程序放在一個單獨的文件中,然后在每個要調(diào)用這些程序的.asp頁中將那個文件包含進來。,1. 語法格式 2. 參數(shù)說明 filename是預想包含的文件的路徑和名稱。被包含文件不要
12、求專門的文件擴展名; Virtual 與File 表示Virtual和FILE任選其一 Virtual 要包含的文件是在Web站點的虛擬目錄的完整虛擬路徑(該目錄為Web 共享目錄); 例如:如果一個被命名為 Footer.inc 的文件屬于一個名為 /Myapp 的虛擬目錄,則下面的一行將把 Footer.inc 的內(nèi)容插入到包含該行的文件中, ,File 要包含的文件使用相對路徑。 例如:假設你有兩個Web共享目錄Dir1和Dir2的結(jié)構(gòu),如下圖5.9所示,,圖5.9 虛擬目錄Dir1和Dir2的文件結(jié)構(gòu),目錄Dir1內(nèi)有文件file1.asp和file2.asp,目錄Dir2下有文件s2
13、file.asp, (1).若要在文件file1.asp中包含s2file.asp,則將如下命令加入到文件file1.asp中: 其中File1.asp文件如下: % % ,程序運行結(jié)果圖5.10所示:,圖5.10 采用Include Virtual實現(xiàn)的包含文件,(2).若要在file11.asp中包含file12.asp,則將如下命令加入到文件file11.asp中: 或者使用如下命令亦可: 例如: 修改后的File1.asp文件如下: % % 程序運行結(jié)果圖5.11所示:,圖5.11 采用Include File實現(xiàn)的包含文件,3. 程序舉例 【例5.4】下面我們給出一個綜合實例,顯示一
14、下inc包含文件的具體應用。首先建立一個CSS的樣式列表,設置了MenuType及tableType的樣式單分別來設置表格的屬性和文本屬性。其次,建立了一個簡單的菜單欄實現(xiàn)網(wǎng)頁之間的導航。,5.3.1 Global.asa的定義,.asa是文件后綴名,它是Active Server Application的首字母縮寫。Global.asa文件可以管理在ASP應用中兩個非??量痰膶ο螅篈pplication、Session。 global.asa是一個可選文件,程序編寫者可以在該文件中指定事件腳本,并聲明具有會話和應用程序作用域的對象。該文件的內(nèi)容不是用來給用戶顯示的,而是用來存儲事件信息和由應
15、用程序全局使用的對象。該文件必須存放在應用程序的根目錄內(nèi)。每個應用程序只能有一個Global.asa文件。 Global.asa文件主要基于會話級事件被訪問,在以下三種情況下被調(diào)用: 1. 當Application_OnStart或Application_OnEnd事件被觸發(fā)。 2. 當Session_OnStart或Session_OnEnd事件被觸發(fā)。 3. 當引用一個在Global.asa文件里被實例化的對象(Object)。 當一個ASP應用啟動的時候,IIS就會尋找一個Global.asa文件。如果該文件存在,就開始執(zhí)行Application_OnStart。在這里可以初始化應用級的
16、變量和常量。,5.3.2 Global.asa文件的結(jié)構(gòu),1. 文件的基本結(jié)構(gòu) Sub Application_OnStart Application_OnStart 當任何客戶首次訪問該應用程序的首頁時運行 End Sub Sub Session_OnStart Session_OnStart 當客戶首次運行 ASP 應用程序中的任何一個頁面時運行 End Sub Sub Session_OnEnd Session_OnEnd 當一個客戶的會話超時或退出應用程序時運行 End Sub Sub Application_OnEnd Application_OnEnd 當該站點的 WEB 服務器關(guān)
17、閉時運行 End Sub ,2. 說明 Application_OnStart Application_OnStart事件在第一位使用者打開所有具有Application對象網(wǎng)頁的其中一個時觸發(fā), 并且這個事件將會在Session的OnStart事件之前被觸發(fā)。我們常用Application的OnStart事件中定義所有用戶都使用的公共變量,如網(wǎng)站用戶個數(shù)、歡迎詞等等。 在Application_OnStart 事件腳本中引用 Session、Request 或 Response 對象將導致錯誤。 Application_OnEnd Application_OnEnd事件在應用程序退出時于Se
18、ssion_OnEnd事件之后發(fā)生,只有 Application和Server內(nèi)建對象可用。 Session_ OnStart Session_OnStart 事件在服務器創(chuàng)建新會話時發(fā)生。服務器在執(zhí)行請求的頁之前先處理該腳本。Session_OnStart 事件是設置會話期變量的最佳時機,因為在訪問任何頁之前都會先設置它們。所有內(nèi)建對象都可以在 Session_OnStart 事件腳本中使用和引用。 Session_ OnEnd Session_OnEnd 事件在會話被放棄或超時發(fā)生。在服務器內(nèi)建對象中,只有 Application、Server 和 Session 對象可用。,3. 應用舉
19、例 下面我們通過一個例子來看一個Global.asa的簡單應用。 【例5.5】網(wǎng)站動態(tài)在線人數(shù)統(tǒng)計5.5.asp Global.asa文件 Sub Application_onStart Application(OnLine) = 0 End Sub Sub Session_onStart 一個用戶訪問進行記數(shù)加1 Application.Lock Application(OnLine) = Application(OnLine) + 1 Application.Unlock End Sub Sub Session_OnEnd 一個用戶進程的結(jié)束,記數(shù)減1 Application.Lock A
20、pplication(OnLine) = Application(OnLine) - 1 Application.Unlock End Sub 5.5.asp ,運行結(jié)果如圖5.12所示。,圖5.12 例5.5的運行結(jié)果,注意:Global.asa 必須存放在應用程序的根目錄中。每個應用程序只能有一個Global.asa 文件。,5.4.1 利用Request.Form集合來獲取數(shù)據(jù),1. 語法格式 變量名=Request.Form(參數(shù)名稱|索引值) 2. 參數(shù)說明 參數(shù)名稱 是客戶表單通過Post方法遞交過來的表單域的名稱。 索引值 是表單域在表單中的順序號,一般從1開始。 利用Reque
21、st.Form,只能實現(xiàn)Post方法的數(shù)據(jù)傳遞。 3. 程序舉例 【例5.6】假如客戶端Web頁面包含的如下表單域:FirstName、LastName。網(wǎng)頁如下圖5.13所示:,圖5.13 例5.6的Web頁面,可通過訪問ASP的Form集合來訪問其控件內(nèi)的值: strFirstName = Request.Form(FirstName) strLastName = Request.Form(LastName) 獲取參數(shù)除了采用參數(shù)名稱,還可以使用索引值,例如,上例,也可以通過下面語句實現(xiàn): 例:strFirstName=Request.Form(1) strLastName=Request
22、.Form(2),5.4.2 利用Request.QueryString集合來獲取數(shù)據(jù),1. 語法格式 Request.QueryString(參數(shù)名稱|索引值) 2. 參數(shù)說明 參數(shù)名稱 由Get方法從客戶端發(fā)送過來的變量。 索引值 是表單域在表單中的順序號,一般從1開始。 利用Request. QueryString,能實現(xiàn)網(wǎng)頁表單中Get方法的數(shù)據(jù)傳遞或是。檢索HTTP查詢字符串中變量的值,HTTP 查詢字符串由問號 (?) 后的值指定。 如: string sample 變量名string的值為: this is a sample 我們可以采用下面的語句獲得:,strString=Re
23、quest.QueryString(String) 同樣道理,我們也可以使用索引值,獲得上述數(shù)據(jù)。 如:strString= Request.QueryString(1),5.4.3 在ASP程序中實現(xiàn)數(shù)據(jù)交互,使用Request.QueryString實現(xiàn)交互 使用Request.Form實現(xiàn)交互,通過上面章節(jié)的講解,我們基本上掌握了網(wǎng)頁數(shù)據(jù)交互的基本原理。本節(jié),我們將繼續(xù)通過實例讓大家體會,以上兩種方法實現(xiàn)交互的特點。所舉例子采用兩個文件實現(xiàn)。userinput.htm文件負責提交數(shù)據(jù),userexec.asp文件負責數(shù)據(jù)的獲得、顯示。,1.使用Request.QueryString實現(xiàn)交
24、互,【例5.7】使用Request.QueryString實現(xiàn)交互,以下是userinput.htm的源程序代碼,主要實現(xiàn)通過Get方法提交表單的數(shù)據(jù): 姓名: 愛好: 足球 籃球 羽毛球 玩游戲 ,網(wǎng)頁如下圖5.14所示:,圖5.14 例5.7的Web頁面,點擊“提交”按鈕后,就會執(zhí)行Web服務器的userexec.asp腳本文件,userexec.asp文件的源程序代碼如下,由于表單(form)使用get方式,源程序代碼使用輸入數(shù)據(jù)=request.querystring(字段名),將附加于URL后的數(shù)據(jù)取出,以取得此段的輸入數(shù)據(jù):,圖5.15 例5.7采用Get方法實現(xiàn)用戶交互的結(jié)果, 你好,你的愛好是 程序運行結(jié)果如圖5.15所示:,2. 使用Request.Form實現(xiàn)交互,【例5.8】使用Request. Form實現(xiàn)交互,以下是userinputp.htm的源程序代碼,主要實現(xiàn)通過Post方法提交表單的數(shù)據(jù): 姓名: 愛好: 足球 籃球 羽毛球 玩游戲 網(wǎng)頁如下圖5.16所示:,圖5.16 例5.8Web頁面,點擊“提交”按鈕后,就會執(zhí)行Web服務器的userexec.asp腳本文件,userexec.asp文件的源程序代碼如下,由于表單(form)使用Post方式,源程序代碼
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幕墻工程隱裂質(zhì)量通病及防治措施
- 新材料建筑設計說明范文
- 混凝土冬季施工裂縫防控措施
- 2025屆高三語文課堂筆記優(yōu)化計劃
- 2025信息技術(shù)運營管理學習心得體會
- 高中數(shù)學跨學科教學研究報告范文
- 2025年中小學校長家校溝通能力提升培訓心得體會
- 以歸因理論為翼助力高中文言文教學新突破
- 以客戶為中心:SL律師事務所服務滿意度剖析與進階策略
- 倉儲物流培訓及操作流程
- HG+20231-2014化學工業(yè)建設項目試車規(guī)范
- 安徽省合肥市普通高中六校聯(lián)盟2023-2024學年高一下學期期末聯(lián)考數(shù)學試卷
- 單相用電設備計算負荷的計算
- 獸醫(yī)傳染病學考試題(含答案)
- 電工電子技術(shù)與技能中職全套教學課件
- MOOC 人工智能導論-西安電子科技大學 中國大學慕課答案
- (正式版)HGT 3217-2024 搪玻璃上展式放料閥
- 2024年西安亮麗電力集團有限責任公司招聘筆試參考題庫附帶答案詳解
- 變壓器吊裝施工方案
- 消防禮儀相關(guān)知識培訓課件
- 不銹鋼滾鍍鎳工藝
評論
0/150
提交評論