電子商務網站設計與管理6匯編_第1頁
電子商務網站設計與管理6匯編_第2頁
電子商務網站設計與管理6匯編_第3頁
電子商務網站設計與管理6匯編_第4頁
電子商務網站設計與管理6匯編_第5頁
已閱讀5頁,還剩65頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第六章 動態(dngti)網站建設技術ASP本章要點:ASP基礎ASP語法(yf)ASP內置對象的應用ASP組件的應用1共七十頁一、ASP的特點(tdin)與功能ASP:Active Server Pages,簡稱ASP,是一套微軟公司開發的服務器端腳本運行環境,ASP內含于IIS之中。1、ASP的特點(tdin)無需編譯編輯方便獨立于瀏覽器面向對象與多種腳本語言兼容源程序的保密性2共七十頁2、ASP的功能交互性數據庫操作文件讀寫提供內置組件(z jin)用戶端文件操作站點集成性擴充功能強3共七十頁服務器IISASP3、ASP運行(ynxng)過程客戶機IEMS SQL數據庫服務器在瀏覽器地址

2、欄輸入(shr)/default.asp回車定位頁面文件IIS內置的ASP解釋ASP程序代碼?IE解釋經過翻譯的標準HTML代碼要訪問數據庫嗎?將ASP程序轉換成標準的HTML頁面4共七十頁4、ASP的文件(wnjin)結構HTML標記VBScript或Jscript腳本ASP語句ASP程序的編寫:可使用任意一款文本編輯軟件,如記事本一個示例:5共七十頁二、ASP語法(yf)1、ASP標記ASP程序定界符:注:利用也可使得(sh de)腳本在服務器端執行。ASP中腳本語言的聲明在ASP文件的第一句加上語句:利用標記定義函數與過程 6共七十頁EX2.ASP7共七十頁什么時候用:在ASP文件中以V

3、BScript腳本為主,在臨時(ln sh)需要調用Jscript定義函數與過程時利用標記如下例8共七十頁EX3.ASP9共七十頁2、VBScript基礎VBScript的數據類型:Variant,它可以用來包含任何的數據類型,所有函數的返回值也是這個類型。VBScript的常量字符串常量:以雙引號括起的內容如:“Hello World!”;如要在字符串中使用引號,則可在字符串內部用兩個雙引號表示一個雙引號,也可用單引號表示日期與時間常量:包含在兩個“#”之間如:#1999/01/01#; #12 : 00 : 00#使用Const語句聲明常量:如:Const MyString=“Hello

4、World!”布爾型常量:true、falseVBScript的變量命名規則:必須以字母(zm)開始;最多255個字符;不區分大小寫;不可以包含句點或類型聲明字符。變量的聲明:可以不需專門聲明。 聲明語句:Dim X=1010共七十頁VBScript中的運算符賦值運算符:= 如:X=100算術運算符:+、-、*、/比較運算符:=、=邏輯運算符:AND、 OR、 NOT連接運算符:& 如:“現在的時間是” & now()VBScript中的表達式:由常量、變量或函數(hnsh)與運算符組合而成的式子如:X+10;Now();“你好!”11共七十頁3、VBScript語言的基本結構條件語句基本結構

5、:If 條件表達式 then 語句序列1Else 語句序列2End if如:=60 Then Response.write “及格! ” 注:此句也可采用HTML直接(zhji)輸出Else Response.write “不及格!” 注:此句也可采用HTML直接輸出End If%12共七十頁多分支選擇(xunz)語句基本結構:Select Case 數據或表達式 case 條件值1 語句序列1 case 條件值2 語句序列2 Case Else 語句序列N+1End Select13共七十頁例EX4body bgcolor=一個隨星期(xngq)改變頁面背景色的示例14共七十頁循環語句Do

6、While Loop循環Do While 條件(tiojin)表達式 語句序列 Exit DoLoop或:Do 語句序列 Exit DoLoop While 條件表達式15共七十頁For Next計次循環For 條件初始值 To 條件終止(zhngzh)值 語句序列Next例EX5%For i=1 to 7 Response.write “” Response.write “這是” & I & “號字” Response.write “”Next%16共七十頁4、數組、子程序與函數(hnsh)數組數組的聲明:以下定義(dngy)了11個數組元素Dim X(10)數組的使用X(0)=80 X(1

7、0)=90數組的重新定義Dim X()ReDim X(20)17共七十頁通過(tnggu)賦值創建數組%X=Array(”Word”,”Excel”,”PowerPoint”,“Access”,“Outlook”)For i=0 to 4 response.write X(i) & “”Next%18共七十頁UBound函數功能:讀取數組中最大的下標(xi bio)%X=Array(”Word”,”Excel”,”PowerPoint” )FOR I=0 TO UBound(X) Response.write X(i) & “”NEXT%二維與多維數組的定義Dim X(4,3)19共七十頁子程

8、序子程序的定義Sub 子程序名(形式參數列表) 語句序列(xli)End Sub子程序的調用Call 子程序名(實際參數列表)20共七十頁自定義函數(hnsh)函數的定義Function 函數名(形式參數列表) 語句(yj)序列 函數名=表達式 End function函數的調用直接輸入函數名即可設置函數返回值21共七十頁例:Function sum(n) sum=0 for i=0 to n sum=sum+I nextEnd functionResponse.write “累加和為” & sum(10)22共七十頁VB內建函數的應用(yngyng)字符串類型函數Ucase():將字符串轉換

9、成大寫Lcase():將字符串轉換成小寫Trim():去除字符串中多余空格Len():返回字符串內字符的數目Replace():字符串替換Replace(“張三,李四,王五”,“,”,“”)數值類型函數Ubound():獲取數組名的最大下標FormatNumber(數值,所取之小數位數)Cint():將數據轉換成實數并四舍五入(s sh w r)取整CSng()/CDbl():將數據轉換成實數(4字節/8字節)Rnd:產生隨機數(0 = N1);在Rnd之前調用Randomize使隨機數的產生無規律23共七十頁日期時間類型函數(hnsh)Date()、Now()、time()獲取當前日期與時間

10、Year、Month(0-11)、Day獲取年月日Hour(0-23)、Minute(0-59)及Second(0-59)獲取時、分、秒其他函數IsEmpty():判斷變量是否為emptyIsNull():判斷變量是否包含有效數據IsDate():判斷變量是否可以轉換為日期IsNumeric():判斷變量是否為數字IsArray():判斷變量是否為數組24共七十頁三、ASP內置對象(duxing)的應用對象:客觀世界存在的事物對象的特性:屬性、方法使用對象的語句讀取對象的屬性X=Response . Buffer設置(shzh)對象的屬性Response.Buffer=數據調用對象的方法Res

11、ponse.Write X對象名對象的屬性句點操作符對象的方法25共七十頁1、Response對象(duxing):作用:用于控制發送給用戶瀏覽器的信息。Write方法(fngf):將指定字符串寫到當前的HTTP輸出流中(即輸出到客戶端瀏覽器中)。格式:response.write 數據;如:Response.write “hello,world!”Response.write now()Response.write “粗體字”Response.write “現在是” & now()Response.write “”26共七十頁單個數據(shj)的輸出:如:使用with語句減少代碼書寫With

12、 Response . Write 數據 . Write 數據 End with27共七十頁Redirect方法作用:使瀏覽器嘗試連接到其他URL。格式:response.redirect URL,如:Response. redirect “01.htm”Response. redirect “./soft/index.asp”Response. redirect “/”注意:Redirect方法只能夠在還沒有任何數據輸出到瀏覽器以前(yqin),才可以調用,如以下會出錯:28共七十頁End方法作用:結束或停止(tngzh)后續數據輸出。格式:response.end,如:If mystrin

13、g=empty then Response.write “請輸入興趣!” Response.endEnd if以下為正常處理程序Response.write “你的興趣是”&mysting29共七十頁Buffer屬性作用:用來指定頁面輸出時是否需要緩沖區格式:response.buffer=true | falseFlush方法作用:立即發送緩沖區中的輸出格式:response.flushClear方法作用:刪除緩沖區中的所有HTML輸出格式:response.clear注意:Buffer屬性的設置應是在沒有任何(rnh)HTML或ASP數據輸出到瀏覽器;Flush方法和Clear方法的使用必

14、須保證Buffer設置為True如下例會出現錯誤!30共七十頁 31共七十頁32共七十頁2、Request對象(duxing)作用:用于從客戶端瀏覽器接收數據Request對象的主要集合(方法)QueryString集合(客戶端使用Get方法傳遞的數據)Form集合(客戶端使用Post方法傳遞的數據)Cookie集合ServerVariable集合格式:Request.集合|屬性|方法(變量),如:Request.form(“username”)Request(“username”)注意:如果(rgu)不指定集合名稱,則request對象會按QueryString/form/cookie/Se

15、rverVariable順序查找指定變量33共七十頁在客戶端向ASP程序輸入數據在地址欄中輸入:/exam.asp?xm=張三&love=英語由表單輸入姓名:愛好(i ho): 附帶數據(shj)開始多個數據的分隔符34共七十頁(1)Request對象的QueryString集合用戶在Form中使用(shyng)Get方法傳遞數據時,所提交的數據不是被當作一個單獨的包發送的,而是被附在查詢字符串(QueryString)中,一起被提交到服務器端。即此集合用于存取URL如:http:/localhost/chuli.asp? love=english形式的變量值。注:當在表單中使用Get方法提交

16、數據時,也會產生如上URL所示的地址。格式:Request.QueryString(變量名)如:mylove=Request.QueryString(“love”)Querystring集合的應用:一個用戶登錄實例35共七十頁表單頁面(y min)login.htm賬號:密碼:處理程序access.asp36共七十頁上例中access.asp中數據的輸入(shr)也可不通過表單得到,如下:方法一:/access.asp?user=admin&pwd=123方法二:在超級鏈接中直接設置URL及其參數登錄37共七十頁(2)Request對象的Form集合在使用Post方法將HTML表單數據提交到服

17、務器時,表單數據作為Form集合的成員。此諒輸入的數據不受長度限制,且數據不會出現(chxin)在瀏覽器的URL地址欄中。格式:request.form(element)(index)|.count38共七十頁屬性(shxng)說明:Element:指定表單元素的名稱Index:可選,表示表單元素中的多個參數值的順序號Count:集合中表單元素的個數例1:Request.Form(“love”).Count獲取表單元素為Love復選項的選項個數;例2:Request.form.Count獲取表單中表單元素的個數Form集合的應用:39共七十頁表單頁面login.htm賬號:密碼:處理程序acc

18、ess.asp40共七十頁通過Request(“變量”)語句接收數據user=request (“user”)利用遍歷循環For Each In獲取表單元素值格式(g shi):for each 變量名 in 集合名Next如:% For each myvar in request.form Response.write “” & myvar &”=” Response.write request.form(myvar) Next %41共七十頁利用循環For Next%For i=1 to request.form.count Response.writ “”&request.form(i)

19、next%一個(y )用戶調查表實例:EX6.htm、Proceed.asp42共七十頁利用循環For Next%For i=1 to request.form.count Response.writ “”&request.form(i)next%一個用戶(yngh)調查表實例:EX6.htm、Proceed.asp43共七十頁(3)ServerVariables(服務器環境變量)集合(jh)用于記錄HTTP頭信息,如客戶IP地址,客戶瀏覽器類型格式:Request.ServerVariables(“環境變量”)例:返回客戶端IP地址:Request.ServerVariables(“Remo

20、te_Addr”)返回當前ASP文件的虛擬路徑:Request.ServerVariables(“Path_Info”)返回當前頁鏈接來源 Request.ServerVariables(“http_referer”)查看服務器環境變量的實例44共七十頁查看(chkn)服務器變量%For each name in request.servervariables response.write “” & name response.write “=” & request.servervariables(name) response.write “”next%45共七十頁一個限定用戶從特定頁面登錄的

21、程序用戶只能從login.htm登錄才能(cinng)進入46共七十頁3、Response與Request對象(duxing)的Cookies集合什么(shn me)是Cookie:Cookies是一組記錄在客戶端的標記,便于站點下次被訪問時讀取。可以實現頁面間信息的共享。格式:寫入Cookies值:Response.Cookies (cookie)(key)|.attribute=MyValue讀取Cookies集合中的值:Mycookies=Request.Cookies(cookie)(key)|.attribute47共七十頁說明如下(rxi)Cookie:Cookie名稱如:寫入Co

22、okieResponse.Cookie(“MyCookie”)=“sugar”讀取Cookie值MyCookie=Request.Cookie(“MyCookie”)Key:可選參數,如果指定了 Key,則Cookie就是一個“字典”。如:response.Cookies(“mycookie”)(“type1”)=“sugar”Response.Cookies(“mycookie”)(“type2”)=“ginger snap”48共七十頁Attribute:指定Cookie自身有關信息,參數可是下列之一:Domain:只允許寫。若被指定,則Cookie將被發送到對該域的請求中去。Expire

23、s:只允許寫。Cookie的過期日期。為了在會話結束后將Cookie存儲在客戶端磁盤上,必須設置該日期。HasKeys:只允許讀。判斷Cookie是否包含關鍵字。值為True或FalsePath:只允許寫,若被指定,則Cookie將只發送到對該路徑的請求中,如果(rgu)未設置該屬性,則使用應用程序的路徑。Secure:只允許寫。指定Cookie是否安全49共七十頁一個如何設置(shzh)Cookie屬性的例子:50共七十頁Cookie的應用(yngyng):簡易計數器51共七十頁4、Session對象(duxing)功能:存儲特定的用戶會話所需信息。Cookies對象可以將變量(binlin

24、g)的內容保存在客戶端,而Session對象和Application對象可在將其保存在服務器端,故其可作為變量(binling)在各客戶的頁面間傳遞。每一個聯機的客戶端都是一個獨立的Session對象Session對象的使用必須配合瀏覽器的Cookies功能才有效語法格式:Session.屬性|方法利用Session對象保存數據(自定義屬性) Session(“mydata”)=data1從Session對象中讀取數據 Data1=Session(“mydata”)52共七十頁SessionId屬性說明:返回用戶的會話標識,在創建會話聯機時,服務器會為每一個會話生成一個單獨的標識,以長整形數據

25、類型返回。如:你的SessionID為:Timeout屬性設置當前ASP程序的Session對象有效時間(以分種為單位),如用戶在此時間內不刷新或請求網頁(wn y),則該會話將終止。如:Session.Timeount=10Abandon方法:刪除所有存儲在Session對象中的數據,并釋放這些對象的資源(在當前面中腳本處理完后才真正刪除)如:如未明確調用該方法,一時會話超時,服務器將刪除這些對象53共七十頁Session對象(duxing)的應用強迫進入(jnr)首頁控制用戶必須登錄后訪問的頁面Session計數器54共七十頁5、Application對象(duxing)作用:利用Appl

26、ication對象保存變量內容所有聯機上網者共享一個(y )Application對象Application對象的讀寫(自定義屬性)Data1=Application(“data1”)Application(“data1”)=data1Application對象的方法Application.lock 鎖定Application對象Application.Unlock55共七十頁基于(jy)Application對象的訪問計數器你是本站第位訪問者改進:56共七十頁Session對象(duxing)與Application對象(duxing)的比較%sdata=session(“sdata)res

27、ponse.write “進入網頁(wn y)時Session變量sdata=& sdata&sdata=sdata+100response.write “網頁結束時Session變量sdata=& sdata &session(sdata)=sdata%*%adata=Application(adata)response.write 進入網頁時Application變量adata=& adata &adata=adata+100response.write 網頁結束時Application變量adata=& adata &Application(adata)=adata%57共七十頁6、 G

28、lobal.asa文件(wnjin)與Session、Application對象的事件Global.asa文件作用:事件腳本文件,存儲事件信息和全局變量。使用條件:一個網站只能有一個Global.asa文件,且必須存放在網站的根目錄。只能通過腳本標記,而不能用Global.asa文件中不能有任何輸出語句。Session_OnStart事件該事件在服務器創建新會話時發生(fshng),所有內建對象都可在該事件中使用58共七十頁Session_OnEnd事件會話被放棄或超時發生時產生的事件Application_OnStart事件該事件在首次創建新的會話(即Session_OnStart事件)之前

29、發生。只有Application和Server內建對象(duxing)可用。Applicon_OnEnd事件該事件在應用程序退出時,在Session_OnEnd事件之后發生59共七十頁在Global.asa中定義事件:顯示在線人數實例Sub Application _OnStart Application.Lock Application(“Online”)=o Application.UnLockEnd subSub Session_OnStart Application.Lock Application(“Online”)= Application(“Online”)+1 Applicat

30、ion.UnLockEnd subSub Session_OnEnd Application.Lock Application(“Online”)= Application(“Online”)-1 Application.UnLockEnd sub在ASP文件中顯示在線人數:60共七十頁7、 Server對象(duxing)功能:該對象提供對服務器上的方法(fngf)和屬性進行訪問,如創建ActiveX組件實例等。利用Server.CreateObject創建對象如:Set rs=Server.CreateObject(“ADODB.Connection”)用Server.HTMLEncode

31、方法輸出HMTL標記源碼如:% =Server.HTMLEncode(“這是不是粗體字”)%用Server.MapPath方法獲取頁面文件的直接路徑如:Server.MapPath(“index.htm”)61共七十頁8、 ActiveX外部組件(z jin)應用ActiveX組件對應于Web服務器上的一個外部文件(內置組件是集成在ASP環境中),其包含執行某項或一組任務(rn wu)的代碼,以執行公用任務(rn wu)。可以是系統自帶,第三方開發及自己編寫。ASP自帶組件Ad Rotator廣告組件Browsre Capabilities瀏覽器組件Database Access數據庫訪問組件

32、File Access文件訪問組件Content Linking鏈接組件CDONTS郵件訪問組件62共七十頁(1)Ad Rotator組件GIF動畫廣告(gunggo)的缺點功能:創建一佧Ad Rotator對象,該對象在頁面上自動變換顯示廣告圖像,并能鏈接到相應網站(網址)。對應文件:adrot.dll準備工作:確立相關資料圖片網址圖片描述顯示概率yahoo.gif/雅虎20Sohu.jpg/搜狐40263.gifhttp:/www. advert.aspWidth 400Leight 40Border 1*Images/yahoo.gif雅虎搜索引擎20Images/sohu.jpg搜狐4

33、0Images/263.gif首都在線4064共七十頁建立廣告處理文件Advert.aspurl=Request.QueryString(“url”)If url” then Response.AppendToLog url 上句將URL添加到服務器日志末尾(mwi),以計算廣告點擊數 Response.Redirect urlend if在ASP文件中調用廣告組件65共七十頁(2)File Access文件訪問組件功能:提供對服務器端文件的訪問創建新文件:Set fs=Server.CreateObject(“Scripting.FileSystemObject”)File=Server.MapPath(“/abc.txt”)Set txtf=fs.CreateTextFile(file)寫入文件Txtf.WriteLine(“文件操作實例(shl)。”)Txtf.Write Data關閉文件Txtf.Close利用File Access組件實例fs的CreateTextFile方法(fngf)創建實際文件將欲新建的文件名轉換成本地實際路徑:C:Intetputwwwroot創建File Access實例對象66共七十頁打開文件Set fs=Server.CreateObject(“Scr

溫馨提示

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

評論

0/150

提交評論