Web數(shù)據(jù)庫存基礎教程5_第1頁
Web數(shù)據(jù)庫存基礎教程5_第2頁
Web數(shù)據(jù)庫存基礎教程5_第3頁
Web數(shù)據(jù)庫存基礎教程5_第4頁
Web數(shù)據(jù)庫存基礎教程5_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

5在HTML中引入ASP內(nèi)容簡介:本章將重點學習什么是動態(tài)服務網(wǎng)頁ASP,ASP的組成和機理。掌握ASP的文件結構和一般語法,ASP的運行環(huán)境及ASP的對象模型。學習MicrosoftInterDev6.0的基本使用方法。5-1ASP簡介動態(tài)服務器頁(ActiveServerPages,ASP)是運行在Web服務器端的動態(tài)網(wǎng)頁,是微軟公司開發(fā)的基于WindowsNTServer和IIS(InternetIoformantionServer)服務器端的腳本運行環(huán)境。Internet由最初的靜態(tài)(HTML)網(wǎng)頁提供信息服務,到動態(tài)(DHTML)網(wǎng)頁的出現(xiàn),發(fā)現(xiàn)到真正動態(tài)友好的交互頁面,已經(jīng)不再是“頁”的概念,而是一種網(wǎng)上的Web程序,一種為用戶提供更多的類Windows程序。ASP是一種開放式的非編譯應用環(huán)境,能夠組合HTML、Script和可重用的ActiveX服務器組件來建立動態(tài)的,強大而基于Web的商業(yè)應用。ASP支持基于IIS上的服務器端腳本并可以完全支持包括:VBScript和JSCript,甚至是PerlScript在內(nèi)的OpenScript接口。5-1-1用ASP制作動態(tài)頁面超文本標記語言HTML是Web頁面的基礎,編寫方便,沒有特別指定語言編輯環(huán)境。早期Internet的頁面是完全靜態(tài)的,僅能提供文本服務,沒有客戶端/服務器的概念。這里所謂的“靜態(tài)”是指網(wǎng)站的頁面內(nèi)容“固定不變”,最多再加上一些動態(tài)圖片。若要更新這樣的網(wǎng)站內(nèi)容,網(wǎng)站維擴者必須逐個手動修改每一個HTML文檔。對于個人或小型網(wǎng)站這并不是一個問題,但對于多功能的大型商業(yè)網(wǎng)站等,則是一項艱巨而復雜的任務。具有動態(tài)圖片的頁面不能稱為動態(tài)網(wǎng)頁,“動態(tài)”頁面指的是具有交互功能的頁面。例5.1和例5.2是一對客戶機/服務器數(shù)據(jù)交互的樣例。例5.1

ASP數(shù)據(jù)傳送頁例5.1

ASP數(shù)據(jù)傳送頁(L5-1.htm),運行結果如圖5-1所示。<HTML><HEAD><TITLE>ASP數(shù)據(jù)傳送頁</TITLE></HEAD><BODY><FORMaction="L5-2.asp"method="post"><TABLEwidth="100%"><TR><TDalign="right"width="30%"><B>請輸入賬號:</B></TD><TDwidth="70%"><INPUTname="userid"maxlength=10></TD><TR><TDalign="right"><B>請輸入密碼:</B></TD><TD><INPUTtype="password"name="passwd"></TD></TR><TR><TDcolspan=1align=right><INPUTtype=submitname=submitvalue=提交></TD><TDalign=left><INPUTtype=resetname=resetvalue=重輸></TD></TR></TABLE></FORM><HR></BODY></HTML>例5.2ASP數(shù)據(jù)返回頁例5.2ASP數(shù)據(jù)返回頁(L5-2.asp),運行結果如圖5-2所示。<%@Language="VBScript"%><HTML><HEAD><TITLE>ASP數(shù)據(jù)返回頁</TITLE></HEAD><BODY><%Myid=Request.Form("userid")Mypasswd=Request.Form("passwd")Response.Write"<P>您的賬號是:"&Myid&"<P>"Response.Write"<P>您的密碼是:"&Mypasswd

%></BODY></HTML>服務器收到該執(zhí)行請求后,使用ASP的VBScript語言解釋器解釋源程序,而ASP源程序不會傳送到用戶的瀏覽器上(見示意圖5-3),用戶在瀏覽器端看到的是一般的標準HTML代碼。網(wǎng)站服務器將ASP的源程序代碼自動解釋為標準HTML格式的網(wǎng)頁內(nèi)容,在瀏覽器上單擊【查看】→【源文件】,得到例5.2輸出的HTML源代碼如下:<HTML><HEAD><TITLE>ASP數(shù)據(jù)返回頁</TITLE></HEAD><BODY><P>您的賬號是:123456<P><P>您的密碼是:123456</BODY></HTML>圖5-1數(shù)據(jù)傳送頁面圖5-2經(jīng)ASP處理后的數(shù)據(jù)返回頁面圖5-3客戶機與服務器的交互5-1-2ASP的組成ASP的組成如下:服務器端腳本、客戶端腳本、服務器端組件、標準文件、文件系統(tǒng)和服務器端對象,如表5-1所示。任何放在HTML內(nèi)產(chǎn)生效果的程序代碼都可以通過ASP的服務器解釋執(zhí)行。實際上它可以包括以前我們用這的放入網(wǎng)頁內(nèi)的所有效果。表5-1ASP的組成ASP組成部分標準一標準二服務器端腳本VBScript、JavaScriptPerl,REXX客戶端腳本VBScript、JavaScriptActiveX控制服務器端組件MTS商務對象基于COM的對象標準文件ASCII字符

HTML標記文件系統(tǒng)安全機制物理與虛擬目錄服務器端對象ASP引擎內(nèi)置對象ASP引擎內(nèi)置對象注:MTSMicrosoftTransactionServerCOMComponentObjectModelREXX—為計算機用戶和系統(tǒng)管理員提供一種平臺的高級語言5-1-3設置虛擬目錄在Windows2000下可以通過資源管理器,將任意物理路徑下的目錄設置為虛擬目錄。如建立一個名為WebBasic的文件夾(物理目錄),先將該文件夾設為Web共享站點:右擊該文件夾,單擊【屬性】.在屬性對話框中,單擊【W(wǎng)eb共享】,選擇【共享這個文件夾】→【編輯別名】輸入別名WebBasic,別名將成為虛擬目錄名供用戶使用.若缺省,物理目錄名就是虛擬目錄名.本書中別名與實名相同.在【訪問許可】框內(nèi)選中【讀取】、【腳本資源訪問】、【目錄瀏覽】。在【應用程序許可】框內(nèi)選中【腳本】,單擊【確定】按鈕,再單擊【確定】按鈕結束。5-2ASP的文件結構在第2章中我們知道,將純文本文件的擴展名更改為.htm或.html便成了超文本文件。如果我們將這個擴展名名又更改成.asp,它就成了ASP文件。ASP文件也是一個純文本文件,它的擴展名是.asp,所以同樣可以用任何文本編輯打開或編輯ASP文件。HTML是VBScript的基礎,同樣也是ASP的基礎。ASP文件一般由HTML標記和VBScript或JavaScript程序代碼構成。VBScript是設計ASP的有力工具。ASP默認的腳本語言是VBScript。本書的ASP文檔均以VBScript編寫。例5.3是一個含有ASP對象的例題。運行結果如圖5-4所示。例5.3基本ASP文件樣例(L5-3.asp)<%@Language=VBScript%><HTML><HEAD><TITLE>基本ASP文件樣例</TITLE><BODY><P>ASP文件也是一個純文本文件,它的擴展名是.asp。<%'使用Response.Write輸出信息

Response.Write"<P><H3>ASP默認的腳本語言是VBScript。</H3>"%></BODY></HTML>圖5-4基本ASP文件樣例輸出HTML使用“<>”符號將HTML標記括上,區(qū)別于一般的文字。HTML源代碼既可運行在用戶端,也可運行在服務器端。ASP使用“<%%>”符號將ASP的腳本程序括起來,ASP源代碼只能運行在服務器端,而執(zhí)行后所產(chǎn)生的瀏覽器可識別HTML代碼送至用戶端瀏覽器。運行例5.3后ASP送給瀏覽器的HTML代碼如下(與例5.2的原理一樣):<HTML><HEAD><TITLE>基本ASP文件樣例</TITLE><BODY><P>ASP文件也是一個純文本文件,它的擴展名是.asp。<P><H3>ASP默認的腳本語言是VBScript。</H3></BODY></HTML>1.標準指定法例5.4標準指定法,直接在代碼中聲明腳本語言(L5-4.asp)。<%@Language=VBScript%><HTML><HEAD><TITLE>在代碼中聲明腳本語言</TITLE></HEAD><BODY><%="今天是"&date()%></BODY></HTML>2.拓展對象法用HTML的<SCRIPT>標記聲明例5.5拓展對象法,在ASP代碼中包含Script腳本(L5-5.asp)。<HTML><HEAD><TITLE>聲明包含在Script腳本中</TITLE></HEAD><BODY><SCRIPTLanguage="VBScript"Runat="server">SubMyBoysResponse.Write("竹簾豈妨流水過,")EndSub</SCRIPT><%MyBoys%></BODY></HTML>5-3ASP程序調(diào)試1.常見錯誤的調(diào)度通過IE瀏覽器報告錯誤2.腳本調(diào)試(1)使用ERR對象如使用VBScript的ERR對象跟蹤簡單錯誤:<%

OnErrorResumeNextTime=NowadaysResponse.Write(Time)%>(2)運行代碼自動記錄產(chǎn)生的錯誤(3)ScriptDebugger3.防止錯誤通過日常養(yǎng)成的良好編程習慣,避免錯誤的發(fā)生。5-3-1認識VisualInterDev6.0微軟提供了一套功能強大的集成設計編輯工具VisualInterDev6.0,用戶可以在建立Web程序時,處理各種可能發(fā)生的事務。這些工作包括HTML網(wǎng)頁編輯、ActiveX控件制作、數(shù)據(jù)庫連接、網(wǎng)站管理等,可以提供給開發(fā)小組中的每個成員,并同時解決了開發(fā)中版本控制的問題。VisualInterDev的工作界面如圖5-5所示圖5-5VisualInterDev界面5-3-2Web頁面的建立從菜單欄中選擇[File][NewFile],彈出[NewFile]對話框,如圖5-6所示,單擊“VisualInterDev”文件夾后,再選中[HTMLPage](編輯超文本程序)或[ASPPage](編輯ASP程序)圖標,然后單擊[打開]按鈕。Vid將打開如圖5-7所示的工作界面。圖5-6創(chuàng)建新文件圖5-7Vid

的ASPPage工作窗口5-3-3其他VisualInterDev6.0提供了簡單的命令使Web應用程序具有數(shù)據(jù)驅(qū)動的功能。創(chuàng)建帶有數(shù)據(jù)的互動網(wǎng)頁也很簡單,只要通過拖放、設置屬性并存儲頁面無需編程。VisualInterDev6.0提供了一個完整的對象模型,用于設計者調(diào)整應用程序,進行用戶確認并控制Web應用程序。還支持使用ASP引擎為用戶生成簡單的HTML頁面應用程序,也支持DHTML及IE4.0數(shù)據(jù)控制以獲取更豐富的界面。VisualInterDev6.0支持完全的用戶端和服務器端腳本除錯。圖5-8顯示了一個在Source標簽下打開的ASP頁面。圖5-8調(diào)式界面5-4運行平臺窗口操作平臺Web服務器Windows2000ServerIIS5.0(支持最新的ASP3.0版)WindowsNT4.0WorkstationPWS4.0(forNT4.0Workstation)WindowsNT4.0ServerIIS4.0Windows98SE/95/98PWS4.0通過運行L5-1.htm和L5-2.asp,我們已經(jīng)知道ASP是運行在服務器端的程序。表5-2中的任何一種環(huán)境都可以將用戶的計算機設置或虛擬為Web服務器,用來執(zhí)行ASP。表5-2ASP的運行環(huán)境5-5ASP的對象模型ActiveX組件是建立基于ASP的Web應用程序的關鍵。ActiveX組件也是包含執(zhí)行某項或一組任務的代碼。組件是包含可更改數(shù)據(jù)形式的代碼,并符合COM協(xié)議規(guī)范的對象。ASP3.0提供了七個功能強大的內(nèi)置對象(見表5-3),我們使用得最多的,也是最主要的內(nèi)置對象是Request和Response。其他一些對象提供編寫腳本程序的附加功能。利用這些對象所提供的集合、屬性和方法以及其他內(nèi)部組件和外部組件,我們可以編制出形態(tài)各異,豐富多彩的ASP應用程序。表5-3ASP對象模型(詳細描述請參見附錄D)名稱基本功能Request服務器從客戶端取得信息Response服務器向客戶端傳送信息Application公共存儲區(qū),可以被不同的用戶訪問Session個人存儲區(qū),在當前狀態(tài)下,只能被用戶本人訪問Server提供存取Web服務器的功能ObjectContext用來配合服務器進行分布式的事務處理ASPError用來返回ASP出錯的詳細信息(ASP3.0新增對象)上表中前五個是常用的內(nèi)置對象,在后續(xù)各章節(jié)中我們均要用到。ASP的對象、集合、方法和屬性等概念,與我們在第4章描述的VBScript腳本語言的對象等類似。5-6包含指令#Include#Include指令屬于服務器端包含指令(Server-SideInclude,SSI)中的一條。SSI主要有六條指令,如表5-4所示。程序語言一般都能包含一個以上的函數(shù),而這些函數(shù)可以被多個文件使用。用戶可在ASP程序代碼中插入另外一個“被包括”的文件。程序執(zhí)行到此進,將先執(zhí)行此文件,然后再繼續(xù)執(zhí)行下一行的程序代碼。ASP就是通過#Include指令把另一個文件的內(nèi)容插入到當前的ASP頁面中。#Include的語法:<!--#includeeVIRTUAL|FILE=“filename”ASP包含文件會在執(zhí)行腳本命令之前被載入,因此不能使用腳本去創(chuàng)建包含文件。例如,下述腳本的調(diào)用將失敗:<!--調(diào)用失敗的腳本--><%newfile=(first&".inc")%><!--#includefile="<%newfile%>"-->表5-4服務器端包含指令及說明指令說明#config指定返回到客戶端的SSI錯誤信息、日期等所使用的格式#echo把環(huán)境變量HTTP的值插入到HTML中#exec執(zhí)行一個程序或一個服務器外殼命令#flastmod把指定文件的上一次修改日期和插入到HTML中#fsize把指定文件的大小插入到HTML中#include把文件包含到HTML中5-7實訓題實例一

用VisualInterDev6.0創(chuàng)建一個圖5-9所示的HTML文件(SL5-1.htm)。步驟:1. 進入VisualInterDev6.0,在菜單欄中單擊【File】→【NewFile】。2. 在彈出的【NewFile】對話框中選擇HTMLPage,單擊【打開】。3. 在Toolbox窗口中選擇HTML。4. 在【Design】標簽下,按要求鍵入必要的文字;從Toolbox中選取相應的項目拖放進Design窗口中。表單提交頁面調(diào)用VBScript的時間函數(shù)time實例二

調(diào)用函數(shù)和變量。運行結果見圖5-10(SL5-2.asp)。<HTML><HEAD><TITLE>調(diào)用函數(shù)和變量</TITLE></HEAD><BODY>

現(xiàn)在是早晨:<%=time%>,<!調(diào)用時間函數(shù)time><%

MyVar="同學們,早上好!"

Response.Write(MyVar)'使用Response對象輸出變量

%></BODY></HTML>分別顯示3行和6行問候誤實例三實例三循環(huán)語句應用。運行結果如圖5-11所示(SL5-3.asp)。<HTML><HEAD><TITLE>Do…While和For…Next語句</TITLE></HEAD><BODY><divalign="center">'定義文檔塊<center><tableborder="0">'使用無邊框表格<tr><tdwidth="160"height="200">'設置表格的寬和高<%

Cnter=3DoWhileCnter>=1Response.Write("女士們,先生們,<P>")Cnter=Cnter-1Loop%></td><tdwidth="200"height="200"><%ForI=1to6%><FontSize=<%=I%>>

早上好!<BR><%Next%></td></tr></table></center></div></BODY></HTML>實例四實例四用函數(shù)formatdatetime()格式化日期、時間(SL5-4.asp)。<HTML><HEAD><TITLE>格式化日期、時間</TITLE></HEAD><BODY><%ForCountNo=0to4DataCon=now()Response.Write("現(xiàn)在是:")Response.Write(DataCon&"<BR>")SelectcaseCountNoCase0FormatData="vbgeneraldate"Case1FormatData="vblongdate" Case2FormatData="vbshortdate" Case3FormatData="vblongtime" Case4FormatData="vbshorttime"EndselectResponse.Write("formatdatetime(now(),"&FormatData&")=")Response.Write(formatdatetime(now(),CountNo)&"<P>")%><%Next%></BODY></HTML>說明:本例的運行結果見圖5-12。其中Formatdatetime()函數(shù)的語法:Formatdatetime(date,[數(shù)值])數(shù)值為:0~4,也可以是本例中的符號常量例如:currentdata=now

Formatdatetime(currentdata,0)返回值:02-12-20下午09:35:05”Formatdatetime(currentdata,1)返回值:2002年12月20日”Formatdatetime(currentdata,2)返回值:02-12-20”Formatdatetime(currentdata,3)返回值:下午09:35:05”Formatdatetime(currentdata,4)返回值:21:35”接上頁實例五實例五用函數(shù)FormatNumber()格式化數(shù)值(SL5-5.asp)。<HTML><HEAD><TITLE>格式化數(shù)值</TITLE></HEAD><BODY><%

NumberDt=800.12345Response.Write("原數(shù)值是:"&NumberDt&"<P>")Response.Write("formatnumber(number,0)="&formatnumber(NumberDt,0)&"<BR>")Response.Write("formatnumber(number,1)="&formatnumber(NumberDt,1)&"<BR>")Response.Write("formatnumber(number,2)="&formatnumber(NumberDt,2)&"<BR>")Response.Write("formatnumber(number,3)="&formatnumber(NumberDt,3)&"<BR>")Response.Write("formatnumber(number,4)="&formatnumber(NumberDt,4)&"<BR>")'保留四位小數(shù),第五位四舍五入,不包含小數(shù)點前的零,如:-.0135Response.Write("formatnumber(number,4,0)="&formatnumber(NumberDt,4,0))%></BODY></HTML>說明:本例的運行結果如圖5-13所示,其中FormatNumber()函數(shù)的語法:FormatNumber(Expression[,NumDigitsAfterDecimal[,IncludeLeadingDigit]])Expression:數(shù)值型表達式NumDigitsAfterDecimal:數(shù)值型,保留小數(shù)位數(shù)IncludeLeadingDigit:是否去除小數(shù)點前的零,0(去除,默認值)/-1(保留)實例六實例六用split函數(shù)切分字符串,運行結果如圖5-14所示(SL5-6.asp)。<%@Language='VBScript'%><HTML><HEAD><TITLE>切分字符串</TITLE></HEAD><BODY><%PublicMyArray'聲明公共變量

MyPoem="梅花桂花玫瑰花春香秋香"

Response.Write("所對下聯(lián)在此:"&MyPoem&"<P>")Response.Write("用空格切分后為:"&"<BR>")MyArray=split(MyPoem,"")MaxNo=ubound(MyArray)Fori=0toMaxNo-1Response.Write(MyArray(i)&"<BR>")Next%></BODY></HTML>實例七實例七使用數(shù)學函數(shù)eval()(SL5-7.asp)。<HTML><HEAD><TITLE>獲取返回值</TITLE></HEAD><BODY><%

MyRetunNum=555-15*5Response.Write("eval()函數(shù)的返回值是:")

Response.Write(eval(MyRetunNum))%></BODY></HTML>說明:使用的eval()函數(shù)可以獲得數(shù)值、日期、字符、貨幣、邏輯值等的返回值。如:MyRetunNum=555-15*5返回值:480MyRetunNum="555-15*5"返回值:480MyRetunNum="a=a"返回值:TrueMyRetunNum=#2002-12-20#返回值:2002-12-20實例八實例八with語句的使用。運行結果如圖5-15所示(SL5-8.asp)。<HTML><HEAD><TITLE>with語句的使用</TITLE></HEAD><BODY><%WithResponse.Write"高山".Write"哪礙".Write"野云飛。"

EndWith%></BODY></HTML>說明:with語句的最大優(yōu)點是可以優(yōu)化代碼,減少其他語句的重復使用次數(shù)。編寫代碼時應注意其分隔符小圓點“.”的位置,以下格式均為錯誤:l WithResponse.Write"高山"l WithResponse..Write"高山"實例九實例九自定義函數(shù)FirstFunc的調(diào)用(SL5-9.asp)。<HTML><HEAD><TITLE>調(diào)用函數(shù)</TITLE></HEAD><BODY><%CallFirstFunc'調(diào)用FirstFunc函數(shù)%></BODY></HTML><SCRIPT

溫馨提示

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

評論

0/150

提交評論