物流信息管理系統(tǒng)的網(wǎng)絡(luò)開發(fā)環(huán)境課件_第1頁
物流信息管理系統(tǒng)的網(wǎng)絡(luò)開發(fā)環(huán)境課件_第2頁
物流信息管理系統(tǒng)的網(wǎng)絡(luò)開發(fā)環(huán)境課件_第3頁
物流信息管理系統(tǒng)的網(wǎng)絡(luò)開發(fā)環(huán)境課件_第4頁
物流信息管理系統(tǒng)的網(wǎng)絡(luò)開發(fā)環(huán)境課件_第5頁
已閱讀5頁,還剩241頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第八章物流信息管理系統(tǒng)的網(wǎng)絡(luò)開發(fā)環(huán)境

第一節(jié)信息系統(tǒng)的B/S體系結(jié)構(gòu)第二節(jié)ASP及動態(tài)網(wǎng)頁第三節(jié)ASP運行環(huán)境第四節(jié)ASP的開發(fā)工具及開發(fā)平臺第五節(jié)ASP程序的創(chuàng)建與執(zhí)行第六節(jié)ASP服務(wù)器對象第七節(jié)使用ADO訪問數(shù)據(jù)庫第八節(jié)新的數(shù)據(jù)框架—ASP.NET第八章物流信息管理系統(tǒng)的網(wǎng)絡(luò)開發(fā)環(huán)境

第一節(jié)信息系統(tǒng)的B/S1第一節(jié)信息系統(tǒng)的B/S體系結(jié)構(gòu)一、傳統(tǒng)兩層C/S模式的局限性二、多層B/S模式成為主流返回第一節(jié)信息系統(tǒng)的B/S體系結(jié)構(gòu)一、傳統(tǒng)兩層C/S模式的局限性2一、傳統(tǒng)兩層C/S模式的局限性具體表現(xiàn)在以下幾方面:(1)由于客戶端和服務(wù)器端直接連接,服務(wù)器將消耗部分系統(tǒng)資源用于處理與客戶端的連接工作。那么每當(dāng)同時存在大量客戶端數(shù)據(jù)請求時,服務(wù)器有限的系統(tǒng)資源將被用于頻繁應(yīng)付與客戶端之間的連接,從而無法及時響應(yīng)數(shù)據(jù)請求??蛻舳藬?shù)據(jù)請求堆積的直接后果將導(dǎo)致系統(tǒng)整體運行效率的大幅降低甚至全面崩潰。(2)主—從式的結(jié)構(gòu)中,唯一在線的數(shù)據(jù)庫服務(wù)器成為系統(tǒng)可靠性的極大隱患。如果數(shù)據(jù)庫服務(wù)器因為某種原因停止工作,那么整個系統(tǒng)將趨于癱瘓。(3)客戶端應(yīng)用程序的分發(fā)工作的煩瑣程度令人難以接受。系統(tǒng)開發(fā)過程完畢,隨之而來的程序分發(fā)除了要求為每臺客戶機(jī)安裝客戶端程序的執(zhí)行文件以外,還要求安裝程序運行所必須的動態(tài)鏈接庫文件(*.dll)、程序初始化文件(*.ini)等許多其他文件。另外,還必須完成每臺客戶機(jī)器的ODBC或BDE的配置工作。不僅如此,每次對客戶端程序的修改和升級,又意味著上述相同分發(fā)過程的又一次重復(fù)。(4)在存儲過程調(diào)用中,即所有處理過程都在數(shù)據(jù)庫層進(jìn)行,只是將最終結(jié)果返回到客戶端。這種結(jié)構(gòu)的業(yè)務(wù)邏輯需采用專用語言開發(fā),很難再移植到其他的數(shù)據(jù)庫上去。一、傳統(tǒng)兩層C/S模式的局限性具體表現(xiàn)在以下幾方面:3二、多層B/S模式成為主流B/S模式是一種以Web技術(shù)為基礎(chǔ)的新型的MIS系統(tǒng)平臺模式,它把傳統(tǒng)C/S模式中的服務(wù)器部分分解為一個數(shù)據(jù)服務(wù)器與一個或多個應(yīng)用服務(wù)器(Web服務(wù)器),從而構(gòu)成一個三層結(jié)構(gòu)的客戶服務(wù)器體系,它簡化了客戶端。其次,它簡化了系統(tǒng)的開發(fā)和維護(hù)。各個用戶通過Http請求在權(quán)限范圍內(nèi)調(diào)用Web服務(wù)器上不同處理程序,從而完成對數(shù)據(jù)的查詢或修改。相對于C/S,B/S的維護(hù)具有更大的靈活性。另外,它使用戶的操作變得更簡單。C/S模式的客戶應(yīng)用程序有自己特定的規(guī)格,使用者需要接受專門培訓(xùn)。而采用B/S模式時,客戶端只是一個簡單易用的瀏覽器軟件,無論是決策層還是操作層的人員都無需培訓(xùn),就可以直接使用。

二、多層B/S模式成為主流B/S模式是一種以We4二、多層B/S模式成為主流什么是多層架構(gòu)的應(yīng)用呢?

傳統(tǒng)上的C/S模式便是兩層應(yīng)用的典型例子,也就是客戶機(jī)/服務(wù)器模式。這種模式只是兩層架構(gòu),客戶機(jī)發(fā)出請求給服務(wù)器,服務(wù)器將處理大量來自客戶端的請求,經(jīng)過業(yè)務(wù)邏輯運算和處理后,再返回給客戶端。兩層架構(gòu)的模式顯然不能滿足現(xiàn)代以互聯(lián)網(wǎng)為發(fā)展趨勢的企業(yè)計算處理要求,因為其部署,對負(fù)載均衡等處理十分麻煩,因此,三層架構(gòu)乃至于多層架構(gòu)便出現(xiàn)了。多層架構(gòu)的核心思想是,將整個業(yè)務(wù)應(yīng)用劃分為表示層-業(yè)務(wù)層―數(shù)據(jù)訪問層-數(shù)據(jù)庫,明確地將客戶端的表示層、業(yè)務(wù)邏輯訪問、和數(shù)據(jù)訪問及數(shù)據(jù)庫訪問劃分出來,十分有利于系統(tǒng)的開發(fā),維護(hù)、部署和擴(kuò)展。

二、多層B/S模式成為主流什么是多層架構(gòu)的應(yīng)用呢?5三層體系結(jié)構(gòu)三層體系結(jié)構(gòu)6第二節(jié)ASP及動態(tài)網(wǎng)頁一、ASP的概念二、超文本標(biāo)記語言(HTML)三、公共網(wǎng)關(guān)接口(CGI)四、超文本傳輸協(xié)議(HTTP)五、Internet服務(wù)器應(yīng)用程序接口(ISAPI)六、ASP及腳本語言返回第二節(jié)ASP及動態(tài)網(wǎng)頁一、ASP的概念7一、ASP的概念A(yù)SP(ActiveServerPages)是Microsoft于1996年11月推出的Web應(yīng)用程序開發(fā)技術(shù)。微軟聲稱設(shè)計出了一個完美的Active平臺,在微軟的文件中把ASP描述為:“一個服務(wù)器的腳本環(huán)境,在這里可以生成和運行動態(tài)的、交互的、高性能的Web服務(wù)器應(yīng)用程序”。從這段描述我們可以看出,ASP既不是一種語言,也不是一種開發(fā)工具,而是一種技術(shù)框架,其主要功能是為生成動態(tài)的交互式的Web服務(wù)器應(yīng)用程序提供一種功能強(qiáng)大的方法或技術(shù)。asp的主要特性是能夠把HTML、腳本、組件等有機(jī)地組合在一起,形成一個能夠在服務(wù)器上運行的應(yīng)用程序,并把按用戶要求專門制作的標(biāo)準(zhǔn)HTML頁面送給客戶端瀏覽器.asp屬于ActiveX技術(shù)中的服務(wù)器端技術(shù)。與我們通常在客戶端實現(xiàn)動態(tài)主頁的技術(shù)如Javaapplet、ActiveXControl、VBScript、JavaScript等所不同的是,ASP中的命令腳本語句都是在服務(wù)器中解釋執(zhí)行,執(zhí)行后的結(jié)果產(chǎn)生HTML頁面并送到瀏覽器。由于ASP是在服務(wù)器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持ASP。同時,由于只是標(biāo)準(zhǔn)的HTML頁面送到瀏覽器,在瀏覽器上看不到ASP程序,因此可以防止程序被竊取,保護(hù)了開發(fā)者的利益。

一、ASP的概念A(yù)SP(ActiveServe8一、ASP的概念asp的主要特性是能夠把HTML、腳本、組件等有機(jī)地組合在一起,形成一個能夠在服務(wù)器上運行的應(yīng)用程序,并把按用戶要求專門制作的標(biāo)準(zhǔn)HTML頁面送給客戶端瀏覽器.asp屬于ActiveX技術(shù)中的服務(wù)器端技術(shù)。與我們通常在客戶端實現(xiàn)動態(tài)主頁的技術(shù)如Javaapplet、ActiveXControl、VBScript、JavaScript等所不同的是,ASP中的命令腳本語句都是在服務(wù)器中解釋執(zhí)行,執(zhí)行后的結(jié)果產(chǎn)生HTML頁面并送到瀏覽器。由于ASP是在服務(wù)器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持ASP。同時,由于只是標(biāo)準(zhǔn)的HTML頁面送到瀏覽器,在瀏覽器上看不到ASP程序,因此可以防止程序被竊取,保護(hù)了開發(fā)者的利益。

一、ASP的概念asp的主要特性是能夠把HTML、9一、ASP的概念1.ActiveASP使用了Microsoft的ActiveX技術(shù)。ActiveX(COM)技術(shù)是現(xiàn)在Microsoft軟件的重要基礎(chǔ)。它采用封裝對象,程序調(diào)用對象的技術(shù),簡化編程,加強(qiáng)程序間合作.asp本身封裝了一些基本組件和常用組件,有很多公司也開發(fā)了很多實用組件。只要你可以在服務(wù)器上安裝這些組件,通過訪問組件,你就可以快速、簡易地建立自己的WEB應(yīng)用。2.ServerASP運行在服務(wù)器端。這樣就不必?fù)?dān)心瀏覽器是否支持ASP所使用的編程語言.asp的編程語言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一個簡集,會VB的人可以很方便的快速上手。然而Netscape瀏覽器不支持客戶端的VBSCRIPT,所以最好不要在客戶端使用VBSCRIPT。而在服務(wù)器端,則無需考慮瀏覽器的支持問題.NETscape瀏覽器也可以正常顯示ASP頁面。3.PagesASP返回標(biāo)準(zhǔn)的HTML頁面,可以正常地在常用的瀏覽器中顯示。瀏覽者查看頁面源文件時,看到的是ASP生成的HTML代碼,而不是ASP程序代碼。這樣就可以防止別人抄襲程序。

一、ASP的概念1.Active10一、ASP的概念A(yù)SP的特點:1)ASP具有學(xué)習(xí)快、設(shè)計快的特點,不需花許多時間即可學(xué)會和快速設(shè)計出WEB應(yīng)用程序。2)ASP的源程序碼在服務(wù)器端執(zhí)行,代碼保密性好。3)集成與HTML中,無需編譯鏈接可直接執(zhí)行;使用文本編輯器如記事本,即可設(shè)計。4)與瀏覽器無關(guān),用戶端只要使用常規(guī)可執(zhí)行HTML代碼的瀏覽器。5)ASP是面向?qū)ο蟮模∣bject_Oriented)一、ASP的概念A(yù)SP的特點:11二、超文本標(biāo)記語言(HTML)當(dāng)我們在網(wǎng)上沖浪時,基本工作過程如圖所示。二、超文本標(biāo)記語言(HTML)當(dāng)我們在網(wǎng)上沖浪時,基本工作過12二、超文本標(biāo)記語言(HTML)HTML工作原理,如果在瀏覽器中任意打開一個網(wǎng)頁,然后在窗口中空白位置單擊鼠標(biāo)右鍵,選擇“查看源文件”命令(或者選擇“查看”菜單中的“源文件”命令),則系統(tǒng)會啟動“記事本”,其中包含一些文本信息,如圖所示。二、超文本標(biāo)記語言(HTML)HTML工作原理,如果在瀏覽器13二、超文本標(biāo)記語言(HTML)這些文本其實就是網(wǎng)頁的本質(zhì)——HTML源代碼。HTML(HyperTextMarkupLanguage,超文本標(biāo)記語言)是表示網(wǎng)頁的一種規(guī)范(或者說是一種標(biāo)準(zhǔn)),它通過標(biāo)記符定義了網(wǎng)頁內(nèi)容的顯示。

超文本是相對普通文本而言的,與普通文本按順序定位不同,超文本最典型的特點就是文本中包含指向其他位置的鏈接,通過這些鏈接使文檔組織成了網(wǎng)狀結(jié)構(gòu)

二、超文本標(biāo)記語言(HTML)這些文本其實就是網(wǎng)頁的本質(zhì)——14二、超文本標(biāo)記語言(HTML)二、超文本標(biāo)記語言(HTML)15二、超文本標(biāo)記語言(HTML)二、超文本標(biāo)記語言(HTML)16三、公共網(wǎng)關(guān)接口(CGI)動態(tài)內(nèi)容的實現(xiàn)技術(shù)有許多,較早使用的是CGI(CommonGatewayInterface)。CGI是HTTP服務(wù)器與你的或其它機(jī)器上的程序進(jìn)行“交談”的一種工具,其程序須運行在網(wǎng)絡(luò)服務(wù)器上。CGI的原理是:當(dāng)用戶通過瀏覽器向Web服務(wù)器發(fā)出帶有條件的請求時,Web服務(wù)器將指定的條件轉(zhuǎn)給CGI程序處理,CGI處理完后把結(jié)果轉(zhuǎn)成網(wǎng)頁形式還給服務(wù)器,Web服務(wù)器再把網(wǎng)頁傳送給用戶。CGI能很好地實現(xiàn)動態(tài)內(nèi)容,但有兩個致命的缺點:(1)對每個請求,CGI都會產(chǎn)生一個新的進(jìn)程,同一時刻發(fā)出的請求越多,服務(wù)器產(chǎn)生的進(jìn)程就越多,耗費掉的系統(tǒng)資源也越多,這樣在用戶訪問的高峰時期,網(wǎng)站就會表現(xiàn)出響應(yīng)時間延長、處理緩慢的情況,嚴(yán)重的會導(dǎo)致整個網(wǎng)站的崩潰;(2)創(chuàng)建和修改CGI程序相當(dāng)困難,這是因為CGI程序沒有被集成到HTML中,而是需要專門的語言(如Perl和C)來編制。對于大多數(shù)網(wǎng)頁開發(fā)人員來講,要掌握和精通這些語言要花很長的時間

三、公共網(wǎng)關(guān)接口(CGI)動態(tài)內(nèi)容的實現(xiàn)技術(shù)有許多,較早使用17四、超文本傳輸協(xié)議(HTTP)四、超文本傳輸協(xié)議(HTTP)18四、超文本傳輸協(xié)議(HTTP)四、超文本傳輸協(xié)議(HTTP)19四、超文本傳輸協(xié)議(HTTP)既然我們明白了URL的構(gòu)成,那么HTTP是怎么工作呢?我們接下來就要討論這個問題。由于HTTP協(xié)議是基于請求/響應(yīng)范式的(相當(dāng)于客戶機(jī)/服務(wù)器)。一個客戶機(jī)與服務(wù)器建立連接后,發(fā)送一個請求給服務(wù)器,請求方式的格式為:統(tǒng)一資源標(biāo)識符(URL)、協(xié)議版本號,后邊是MIME信息包括請求修飾符、客戶機(jī)信息和可能的內(nèi)容。服務(wù)器接到請求后,給予相應(yīng)的響應(yīng)信息,其格式為一個狀態(tài)行,包括信息的協(xié)議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務(wù)器信息、實體信息和可能的內(nèi)容。四、超文本傳輸協(xié)議(HTTP)既然我們明白了URL的構(gòu)成,那20四、超文本傳輸協(xié)議(HTTP)許多HTTP通訊是由一個用戶代理初始化的并且包括一個申請在源服務(wù)器上資源的請求。最簡單的情況可能是在用戶代理和服務(wù)器之間通過一個單獨的連接來完成。在Internet上,HTTP通訊通常發(fā)生在TCP/IP連接之上。缺省端口是TCP80,但其它的端口也是可用的。但這并不預(yù)示著HTTP協(xié)議在Internet或其它網(wǎng)絡(luò)的其它協(xié)議之上才能完成。HTTP只預(yù)示著一個可靠的傳輸。四、超文本傳輸協(xié)議(HTTP)許多HTTP通訊是由一個用戶代21五、Internet服務(wù)器應(yīng)用程序接口(ISAPI)人們在長期的使用中還是發(fā)現(xiàn)了CGI應(yīng)用程序的一個很大的缺點:性能不高。我每請求一次CGE程序時,CGI執(zhí)行文件(或者腳本的解釋器)都要為每一個請求創(chuàng)建一個新的進(jìn)程。對于一個信息量比較大的站點來說,這無疑給服務(wù)器增加了一個沉重的負(fù)擔(dān)。微軟也提供了另外一個接口,允許使用C和C++等編譯語言生成可執(zhí)行文件,使操作更加高效。這就是Internet服務(wù)器應(yīng)用編程接口(InternetServerApplicationProgrammingInterface,ISAPI)。它能夠提供比傳統(tǒng)Perl引擎和其他技術(shù)所依賴的stdin和stdout更為廣泛的對Web服務(wù)器的訪問。五、Internet服務(wù)器應(yīng)用程序接口(ISAPI)人們在長22五、Internet服務(wù)器應(yīng)用程序接口(ISAPI)ISAPI(InternetServerApplicationProgrammingInterface)是由Microsoft公司創(chuàng)建的作為CGI補(bǔ)充的INTERNET服務(wù)器應(yīng)用程序編程接口,是一組常規(guī)可擴(kuò)展例程,用于調(diào)用外部應(yīng)用程序并處理瀏覽器和服務(wù)器之間的數(shù)據(jù)流。五、Internet服務(wù)器應(yīng)用程序接口(ISAPI)ISAP23五、Internet服務(wù)器應(yīng)用程序接口(ISAPI)ISAPI是一個開放式規(guī)范,WINDOWNSNT和其他操作系統(tǒng)上的第三方WEB服務(wù)器支持該規(guī)范。通過將ISAPI與IIS和NTSERVER結(jié)合,可以創(chuàng)建一個高性能、低成本并且可擴(kuò)展的超文本傳輸協(xié)議(HTTP)平臺。ISAPI開發(fā)以ISAPI應(yīng)用程序的形式出現(xiàn),用于克服CGI性能不足的問題。ISAPI的過濾器可以對傳入和傳出IIS的信息進(jìn)行預(yù)處理和后處理。故此后微軟和其他第三方開發(fā)商推出了許多能通過ISAPI連接到IIS的應(yīng)用軟件,這也就是為什么ASP能夠連接到IIS以及其他微軟服務(wù)器端動態(tài)技術(shù)。在ASP以前,用得最廣泛的是Internet數(shù)據(jù)庫連接器(InternetDatabaseConnector,IPC).asp為Web開發(fā)者使用微軟的平臺開辟了一個新的天地,這使采用數(shù)據(jù)庫中的數(shù)據(jù)創(chuàng)建動態(tài)網(wǎng)頁更加容易。特別是它引入了模板(template),即包含了帶有能夠插入數(shù)據(jù)庫查詢結(jié)果的文本和標(biāo)記的模板文件。五、Internet服務(wù)器應(yīng)用程序接口(ISAPI)ISAP24六、ASP及腳本語言腳本語言是一段自己不能獨立運行,必須要嵌入到HTML語言中才能運行的代碼。為了完善和增加網(wǎng)頁的功能,經(jīng)常需要在網(wǎng)頁文檔中添加一些腳本代碼,以增強(qiáng)應(yīng)用程序的功能。腳本一般分為客戶端腳本和服務(wù)器端腳本。所謂客戶端腳本是指腳本程序可以在客戶端直接被瀏覽器解釋執(zhí)行,必須把腳本代碼用<SCRIPT>和</SCRIPT>標(biāo)記嵌入到HTML頁面中去。用腳本語言編寫的客戶端腳本是直接嵌入到HTML文檔中的,瀏覽器可以理解其中的語句,并能在網(wǎng)頁下載后對這些語句進(jìn)行解析執(zhí)行。只要用戶安裝的瀏覽器支持腳本語言,下載的網(wǎng)頁中的客戶端腳本就能被執(zhí)行。六、ASP及腳本語言腳本語言是一段自己不能獨立運行,必須要嵌25六、ASP及腳本語言現(xiàn)在可以使用的腳本語言比較多,如VBScript、JavaScript、PHP、Perl和Tcl等,在ASP中目前比較流行的腳本語言是VBScript和JavaScript。六、ASP及腳本語言現(xiàn)在可以使用的腳本語言比較多,如VBSc26六、ASP及腳本語言(一)VBScript腳本語言概述VBScript的全稱是MicrosoftVisualBasicScriptingEdition(微軟VB語言腳本版本/分支),它是一種VisualBasic語言的子集,它本質(zhì)上是一種腳本語言,它可以自由地嵌入到任何支持該語言的應(yīng)用程序中,VBScript可以和HTML頁面完美地結(jié)合在一起,運用VBScript可以控制HTML頁面,并對頁面中某些事件做出響應(yīng)。六、ASP及腳本語言(一)VBScript腳本語言概述27六、ASP及腳本語言VBScript繼承了MicrosoftVisualBasic的各種特點,而且比它還要靈活和簡單。另外,由于VBScript有Microsoft公司的大力支持,能同Microsoft系列產(chǎn)品,尤其是BackOffice系列有力的集成在一起。VBScript

使用

ActiveX?

Script

與宿主應(yīng)用程序?qū)υ?。使?/p>

ActiveX

Script,瀏覽器和其他宿主應(yīng)用程序不再需要每個

Script

部件的特殊集成代碼。ActiveX

Script

使宿主可以編譯

Script、獲取和調(diào)用入口點及管理開發(fā)者可用的命名空間。通過

ActiveX

Script,語言廠商可以建立標(biāo)準(zhǔn)

Script

運行時語言。六、ASP及腳本語言VBScript繼承了Microsoft28六、ASP及腳本語言VBScript所具有的特性如下:(1)VBScript不能生成可執(zhí)行的應(yīng)用程序,只能嵌入HTML或其它類型的腳本中;(2)既可作為瀏覽器端即客戶端的腳本,也可作為WebServer端的腳本;(3)包含VBScript腳本的HTML文檔在客戶端只能被IE識別并執(zhí)行,NetScape無法執(zhí)行,但在WebServer端,VBScript不受瀏覽器類型的限制,原因是腳本在到達(dá)瀏覽器端之前即已解釋完畢,反饋給瀏覽器的代碼,是標(biāo)準(zhǔn)的HTML代碼;(4)與ASP結(jié)合可開發(fā)出功能強(qiáng)大的基于Web的數(shù)據(jù)庫平臺和交互式程序。六、ASP及腳本語言VBScript所具有的特性如下:29六、ASP及腳本語言(二)JavaScript腳本語言概述JavaScript語言的前身叫做LiveScript。自從Sun公司推出著名的Java語言之后,Netscape公司引進(jìn)了Sun公司有關(guān)Java的程序設(shè)計概念,將自己原有的LiveScript重新進(jìn)行設(shè)計,并更名為JavaScript。之所以取名為JavaScript,原因就在于JavaScript作為一種嵌入HTML文檔的、基于對象的腳本設(shè)計語言,其中很大一部分的語法同Java語言很相似,而且JavaScript的設(shè)計可以使它很容易的同Java語言一同工作,它可以充分支持Java的applet小應(yīng)用程序,Java的applet小應(yīng)用程序也可以很方便的訪問已有的JavaScript代碼。所以,也可以把JavaScript看成Java語言的某種簡化版本。

六、ASP及腳本語言(二)JavaScript腳本語言概述30六、ASP及腳本語言JavaScript應(yīng)用的優(yōu)點包括:首先,在JavaScript這樣的用戶端腳本語言出現(xiàn)之前,傳統(tǒng)的數(shù)據(jù)提交和驗證工作均有用戶端瀏覽器通過網(wǎng)絡(luò)傳輸?shù)椒?wù)器上進(jìn)行。如果數(shù)據(jù)量很大,這對于網(wǎng)絡(luò)和服務(wù)器的資源來說是實在是一種無形的浪費。一個比較好的解決方案是在提交之前在用戶端由JavaScript實現(xiàn)自動的驗證。六、ASP及腳本語言JavaScript應(yīng)用的優(yōu)點包括:31六、ASP及腳本語言其次,JavaScript可以方便的操縱各種瀏覽器的對象,可以使用JavaScript來控制瀏覽器的外觀、狀態(tài)甚至運行方式,可以根據(jù)用戶的需要“定制”瀏覽器,從而使網(wǎng)頁更加友好;六、ASP及腳本語言其次,JavaScript可以方便的操縱32六、ASP及腳本語言再之,JavaScript可以使多種任務(wù)僅在用戶端就可以完成而不需要網(wǎng)絡(luò)和服務(wù)器的參與,從而支持分布式的運算和處理。同時,Microsoft公司在Netscape公司發(fā)布的JavaScript基礎(chǔ)上,基本獨立的開發(fā)了自己的JavaScript語言實現(xiàn)腳本——JScript。在這種語言中,可以自由的使用原有JavaScript中的一切語法和語句。同時還結(jié)合InternetExplorer瀏覽器的特性,獨創(chuàng)性的作了許多改進(jìn),尤其是在對用戶計算機(jī)上的文件組織和操作上,JScript提供了JavaScript所達(dá)不到的功能。盡管如此,JScript語言仍只是一種腳本語言,而不是獨立的程序開發(fā)語言。它仍然只是局限在瀏覽器的環(huán)境中,不可以用來開發(fā)單獨的應(yīng)用程序。同JavaScript語言一樣,JScript同樣需要在瀏覽器上的一個語言解釋器解釋執(zhí)行其中的代碼。

六、ASP及腳本語言再之,JavaScript可以使多種任務(wù)33第三節(jié)ASP運行環(huán)境

一、配置IIS二、ASP的工作過程

返回第三節(jié)ASP運行環(huán)境一、配置IIS34一、配置IIS

(一)IIS4.0運行環(huán)境硬件最低配置:486/50以上,16M內(nèi)存,50M硬盤空間。建議配置:P90,32-64M內(nèi)存,200M硬盤空間軟件:NTServer4.0,ServicePack3,IE瀏覽器(4.0以上版本),支持TCP/IP協(xié)議

一、配置IIS(一)IIS4.0運行環(huán)境35一、配置IIS

(二)管理IIS的三種方式1)Microsoft管理控制臺(MMC):提供設(shè)置IIS的圖形界面(開始--WindowsNT4.0OptionPack--MicrosoftInternetInformationServer--Internet服務(wù)管理器)。2)Internet服務(wù)管理器(HTML方式):支持使用瀏覽器對IIS進(jìn)行遠(yuǎn)程管理(除SMTP,NNTP服務(wù)之外)。3)腳本程序--實現(xiàn)自動管理功能。支持使用VBScript和JavaScript編寫的腳本。本篇主要講解如何使用最基本的Microsoft管理控制臺方式實現(xiàn)對IIS的配置。一、配置IIS(二)管理IIS的三種方式36一、配置IIS

(三)安裝IISIIS(InternetInformationServer)是微軟出品的架設(shè)WEB、FTP、SMTP服務(wù)器的一套整合軟件,捆綁在Windows2000/NT中,可以在控制面板的添加/刪除程序中選擇添加刪除Windows組件中選擇添加IIS服務(wù)。如下圖:一、配置IIS(三)安裝IIS37一、配置IIS

(三)安裝IIS一、配置IIS(三)安裝IIS38一、配置IIS

一、配置IIS39一、配置IIS

默認(rèn)web站點一、配置IIS默認(rèn)web站點40一、配置IIS

3.Web站點:--用于設(shè)置Web站點的標(biāo)識、指定可以連接的數(shù)量以及啟用Web站點的記錄功能。Web站點配置

一、配置IIS3.Web站點:41一、配置IIS

3.Web站點:Web站點高級配置一、配置IIS3.Web站點:42一、配置IIS

3.Web站點:Web站點相關(guān)說明:(1)站點的說明,這將出現(xiàn)在IIS管理界面中的站點名稱(2)IP地址:常規(guī)情況下可選擇全部未分配。高級選項中可設(shè)定主機(jī)頭名高級WEB站點標(biāo)識等設(shè)置。(3)TCP端口:指定該站點的訪問端口,瀏覽器訪問WEB的默認(rèn)端口是80。(4)連接:選擇無限選項允許同時發(fā)生的連接數(shù)不受限制。選擇限制同時連接到該站點的連接數(shù)。在該對話框中,鍵入允許連接的最大數(shù)目。設(shè)定連接超時;如選擇無限,則不會斷開訪問者的連接。

一、配置IIS3.Web站點:43一、配置IIS

3.Web站點:Web站點相關(guān)說明:(5)HTTP激活:允許客戶保持與服務(wù)器的開放連接,而不是使用新請求逐個重新打開客戶連接。禁用保持HTTP激活會降低服務(wù)器性能。默認(rèn)情況下啟用保持HTTP激活。(6)日志記錄:可選擇日志格式:IIS、ODBC或W3C擴(kuò)充格式,并可定義記錄選項如訪問者IP、連接時間等。

一、配置IIS3.Web站點:44一、配置IIS

4.操作員 用于指定哪個賬戶用于匿名客戶機(jī)登錄請求以及哪個Web站點操作員可以控制對服務(wù)器的訪問。默認(rèn)只允許管理員權(quán)限可操作和管理IIS,也可以添加多個用戶或用戶組別參加IIS的管理和操作

一、配置IIS4.操作員45一、配置IIS

4.操作員

一、配置IIS4.操作員46一、配置IIS

5.性能:

性能調(diào)整--可以根據(jù)站點的具體情況設(shè)定每天訪問站點的人數(shù)。該項可以相應(yīng)的調(diào)整Web站點所占用的系統(tǒng)內(nèi)存的大小。

帶寬限制--啟用帶寬限制將會限制Web站點所能夠使用的帶寬。

連接配置--“保留HTTP連接”允許客戶維持與服務(wù)器已經(jīng)打開的連接,而不要求對客戶的每個新請求都啟用新的連接。一、配置IIS5.性能:47一、配置IIS

5.性能:

一、配置IIS5.性能:48一、配置IIS

6.ISAPI篩選器設(shè)置用于處理HTTP請求過程中的對事件做出響應(yīng)的程序。一、配置IIS6.ISAPI篩選器49一、配置IIS

一、配置IIS50一、配置IIS

7.主目錄一、配置IIS7.主目錄51一、配置IIS

8.文檔 指定默認(rèn)的文檔名稱和順序(按照從上到下的順序讀?。DJ(rèn)文檔就是訪問者訪問站點時首先要訪問的那個文件;例如index.htmindex.aspdefault.asp等等。一、配置IIS8.文檔52一、配置IIS

8.文檔

一、配置IIS8.文檔53一、配置IIS

9.目錄安全性 用于設(shè)置站點的密碼驗證、安全通訊和TCP/IP配置。一般賦予訪問者有匿名訪問的權(quán)限,IIS默認(rèn)已經(jīng)在系統(tǒng)中建立了IUSR_機(jī)器名這種匿名用戶了。

一、配置IIS9.目錄安全性54一、配置IIS

9.目錄安全性

一、配置IIS9.目錄安全性55一、配置IIS

10.HTTP頭 用于設(shè)置內(nèi)容保留期限,自定義、內(nèi)容等級等信息。一、配置IIS10.HTTP頭56一、配置IIS

11.自定義錯誤信息 用戶自己設(shè)定在出錯時返還到瀏覽器的錯誤信息。

一、配置IIS11.自定義錯誤信息57一、配置IIS

一、配置IIS58一、配置IIS

(四)虛擬目錄:環(huán)境是在WINDOWS2K中,你可以在任何一個盤上建,現(xiàn)在我們準(zhǔn)備在E盤上建一個BBS的虛擬目錄:1.在E盤上建一個BBS文件夾

2.右鍵這個BBS的文件夾

-》屬性

-》WEB共享

-》選中共享這個文件夾

-》確定-》確定

這樣這個BBS的虛擬目錄就建好了,把你的ASP文件放到這里就可以運行了,方法如下:如果在BBS的虛擬目錄已經(jīng)有文件INDEX.ASP在IE地址輸入:機(jī)器名稱/BBS/index.asp。利用虛擬目錄調(diào)試ASP是很方便的。

一、配置IIS(四)虛擬目錄:59二、ASP的工作過程

ASP的工作過程主要可以分成以下步驟:用戶在瀏覽器地址欄中輸入擴(kuò)展名為ASP的文件,發(fā)送申請。瀏覽器將這個ASP的請求發(fā)送給IIS。Web服務(wù)器接收到申請,根據(jù)ASP的擴(kuò)展名意識到這是個ASP請求。Web服務(wù)器從硬盤或者內(nèi)存中讀取所需要的ASP文件。Web服務(wù)器將這個文件發(fā)送到一個叫做ASP。DLL特定文件中。ASP文件將會從頭至尾被執(zhí)行并根據(jù)命令要求生成響應(yīng)的靜態(tài)主頁。將腳本輸出結(jié)果和ASP文檔中靜態(tài)HTML代碼進(jìn)行合并,然后以HTML代碼形式回送給用戶瀏覽器。回送的HTML文檔被用戶瀏覽器解釋執(zhí)行并顯示在用戶瀏覽器上。

二、ASP的工作過程ASP的工作過程主要可以分成以下步驟:60二、ASP的工作過程

ASP的工作過程:二、ASP的工作過程ASP的工作過程:61第四節(jié)ASP的開發(fā)工具及開發(fā)平臺

一、發(fā)布ASP的IIS二、網(wǎng)頁設(shè)計工具

三、網(wǎng)站開發(fā)工具

返回第四節(jié)ASP的開發(fā)工具及開發(fā)平臺一、發(fā)布ASP的IIS62一、發(fā)布ASP的IIS上面我們介紹過了ASP的WEB服務(wù)器IIS的一些簡單的配置,這里我們用一個簡單的實例來說明怎樣用IIS發(fā)布ASP程序,實現(xiàn)一個簡單的網(wǎng)絡(luò)環(huán)境。(一)安裝IIS4.0要在IIS4.0上配置虛擬主機(jī),首先需要在WindowsNT4.0上安裝IIS4.0,IIS4.0是Microsoft推出的WindowsNT4.0OptionPack中的一個組件,需要WindowsNTServicePack3或以上版本的支持。因此,要成功地安裝IIS4.0,需要以下安裝步驟:

①安裝WindowsNT4.0;②安裝WindowsNT4.0ServicePack3或更高版本;③安裝WindowsNT4.0OptionPack。另外,最好還要安裝瀏覽器IE4或更高版本,可以用它來測試虛擬主機(jī)是否設(shè)置功能。對于安裝了WindowsNT4.0以及IIS4.0的主機(jī)要配備好網(wǎng)卡,安裝TCP/IP協(xié)議,并給其分配一個IP地址,例如,我們給它分配的IP地址為。

一、發(fā)布ASP的IIS上面我們介紹過了ASP的WEB服務(wù)器63一、發(fā)布ASP的IIS一、發(fā)布ASP的IIS64一、發(fā)布ASP的IIS一、發(fā)布ASP的IIS65一、發(fā)布ASP的IIS一、發(fā)布ASP的IIS66一、發(fā)布ASP的IIS一、發(fā)布ASP的IIS67二、網(wǎng)頁設(shè)計工具

1.FrontPage2000

包括FrontPageEditor、FrontPageExplorer、ImageComposer、FrontPageServerExtensions和PersonWebServer。2.Dreamweaver3.0Dreamweaver是當(dāng)前最流行的網(wǎng)頁設(shè)計軟件,它提供可視化的網(wǎng)頁開發(fā)環(huán)境,具有所見即所得的功能。它與同為Macromedia公司出品的Fireworks和Flash一道,被譽(yù)為網(wǎng)頁制作“三劍客”。二、網(wǎng)頁設(shè)計工具1.FrontPage200068三、網(wǎng)站開發(fā)工具(一)

Visual

InterDevVisual

InterDevVisual

InterDevVisual

InterDev是Microsoft為開發(fā)ASP程序?qū)iT推出的集成開發(fā)環(huán)境,功能非常強(qiáng)大。(1)可以對ASP代碼進(jìn)行顏色識別,自動完成代碼。例如你輸入“Response.”之后,VI會自動把Response.的方法列舉出來,供你選擇。(2)VI中帶有一個代碼庫,調(diào)用預(yù)先設(shè)計好的DTC(DesignTime

Control),可以非常簡單的實現(xiàn)表單處理、數(shù)據(jù)庫操作等等復(fù)雜的功能。(3)內(nèi)置數(shù)據(jù)庫管理工具,可以直接進(jìn)行數(shù)據(jù)庫查詢、修改工作。(4)內(nèi)有RS(Remote

Script),支持服務(wù)器、客戶機(jī)間代碼調(diào)用。(5)群體開發(fā)協(xié)作管理功能,支持多人同時開發(fā)一個網(wǎng)站。但是,VI對HTML編輯的支持不大夠,在設(shè)計頁面效果的方面,不能得心應(yīng)手。三、網(wǎng)站開發(fā)工具(一)

Vis69三、網(wǎng)站開發(fā)工具(二)HomeSite如果你的網(wǎng)站不大,ASP程序不是很龐大的話,你可以使用Allaire公司的HomeSite編輯你的ASP程序。作為一個HTML代碼編輯器,HomeSite對HTML的支持可以說登峰造極。顏色識別、自動完成、提示幫助等等,可以使你的HTML編輯非常輕松。在HomeSite4.0中,提供了對ASP的簡單支持。有一個ASP工具欄,上面有ASP常用的符號。HomeSite也可以自動使ASP的幾個常用詞高亮顯示,幫助閱讀代碼。三、網(wǎng)站開發(fā)工具(二)HomeSite70第五節(jié)ASP程序的創(chuàng)建與執(zhí)行一、創(chuàng)建ASP文件

二、執(zhí)行ASP程序返回第五節(jié)ASP程序的創(chuàng)建與執(zhí)行一、創(chuàng)建ASP文件71一、創(chuàng)建ASP文件ActiveServerPages(ASP)文件是以.asp為擴(kuò)展名的文本文件,這個文本文件可以包括下列部分的任意組合:文本

HTML標(biāo)記

ASP腳本命令

創(chuàng)建.asp文件非常容易。如果要在HTML文件中添加腳本,只需將該文件的擴(kuò)展名.htm或.htm替換為.asp就可以了。要使.asp文件可用于Web用戶,請將這個新文件保存在Web站點上的目錄中(請確定啟用了該目錄的腳本和執(zhí)行權(quán)限)。使用瀏覽器查看該文件時,可以看到ASP處理并返回了HTML頁?,F(xiàn)在可以在.asp文件中添加腳本命令了。

注意:因為.asp文件需要額外的處理,請不要將所有的HTML頁都轉(zhuǎn)換為ASP頁。應(yīng)該只將包含腳本命令的文件轉(zhuǎn)換為.asp文件.asp和.htm文件可以放置在相同的目錄中。一、創(chuàng)建ASP文件ActiveServerPa72一、創(chuàng)建ASP文件使用任何的文本編輯器都可以創(chuàng)建.asp文件。使用那些帶有ASP增強(qiáng)支持的編輯器將更能提高效率,如MicrosoftVisualInterDev。如果您從未使用過HTML,請考慮先使用MicrosoftFrontPage。使用FrontPage創(chuàng)建文檔和格式化文本就象使用文字處理工具一樣簡單。接下來還可以使用InsertScript命令在FrontPage創(chuàng)建的HTML頁中加入簡單的ASP命令。

一、創(chuàng)建ASP文件使用任何的文本編輯器都可以創(chuàng)建.73二、執(zhí)行ASP程序

由于要對腳本進(jìn)行解釋處理,所以絕對不能在瀏覽器中用的“打開”命令來瀏覽.asp文件,或直接用鼠標(biāo)雙擊ASP文件,而應(yīng)該在瀏覽器的地址欄中輸入要執(zhí)行文件的URL地址。例如:Http://localhost:8080/index.asp。當(dāng)然該源程序必須放置在IIS的主目錄下或者虛擬目錄下,不然程序運行就會出錯。

二、執(zhí)行ASP程序由于要對腳本進(jìn)行解釋處理,所以74第六節(jié)ASP服務(wù)器對象一、Request對象二、Response對象

三、Session對象四、Application對象

返回第六節(jié)ASP服務(wù)器對象一、Request對象75一、Request對象Request對象是用來向服務(wù)器端請求數(shù)據(jù)處理的對象。它負(fù)責(zé)連接客戶端的Web頁(.htm)和服務(wù)器端的Web頁(.asp),使得它們之間交換數(shù)據(jù)。一、Request對象Request對76一、Request對象(一)Request對象的屬性:Request對象提供一種屬性:TotalBytes屬性。它用來取得從客戶端接收的所有數(shù)據(jù)的字節(jié)大小。其引用方法為:Request.TotalBytes

(二)Request對象的方法:Request對象提供一種方法:BinaryRead方法,該方法是以二進(jìn)制方式來讀取客戶端使用POST傳送方法所傳遞的數(shù)據(jù)。它返回的是一個數(shù)組。

一、Request對象(一)Request對象的屬性:77一、Request對象(三)Request對象的數(shù)據(jù)集合一、Request對象(三)Request對象的數(shù)據(jù)集合78一、Request對象(四)通過Request對象讀取數(shù)據(jù)1.通過Form集合獲取表單提交的數(shù)據(jù)值(1)獲取Form集合中數(shù)據(jù)的基本語法結(jié)構(gòu)通過下列命令格式可以獲取用戶表達(dá)提交的數(shù)據(jù):Request.Form(element)[(index)|·Count]Element:代表表單中網(wǎng)頁元素對象的名稱。

Count:

是集合對象中的一個通用屬性,根據(jù)具體用法不同,有兩種不同的功能,

分別是:返回提交表單中的元素個數(shù),此時的用法是:Request.form.Count。代表復(fù)選框中被選中項目的個數(shù),此時的用法為:Request.form(“復(fù)選框?qū)ο竺Q”).Countindex:可選參數(shù),當(dāng)表單對象中有同名的多個對象時,使用該參數(shù)可以指定訪問其中的哪一個對象。Index取值從1到n,其中n代表這個對象最多有多少個值,n=Request.Form(元素名稱).Count一、Request對象(四)通過Request對象讀取數(shù)79一、Request對象(2)讀取FORM集合中的數(shù)據(jù)值①通過指定元素名稱來讀取某個元素的值。②Form集合中的一個參數(shù)名稱對應(yīng)多個參數(shù)值。在表單對象中,像Select、CheckBox等表單元素,可能會產(chǎn)生一個參數(shù)名稱對應(yīng)多個參數(shù)值的情況,可以通過以下方法獲取出此參數(shù)名稱所選擇的所有參數(shù)值。ForI=1ToRequest.Form(“項目名稱”).CountRequest.Form(“項目名稱”)(i)Next一、Request對象(2)讀取FORM集合中的數(shù)據(jù)值80一、Request對象2)使用QueryString集合接收參數(shù)

QueryString集合的功能就是從查詢字符串中讀取用戶提交的數(shù)據(jù),表單提交的數(shù)據(jù)是以“元素名=值”的形式被附加在Action屬性指定的URL地址之后提交的。HTTP查詢字符串由問號(?)后的值指定。HTTP查詢字符串比較常用的方法有以下2種:(1)使用<A>標(biāo)記創(chuàng)建超文本鏈接時,可以將查詢字符串放在URL后面,并使用“?”來分隔URL和查詢字符串。(2)當(dāng)通過表單提交數(shù)據(jù)時,如果將表單的Method屬性值設(shè)置成GET時,則表單數(shù)據(jù)被附在查詢字符串中被提交給服務(wù)器端,可以通過QueryString集合檢索表單提交的數(shù)據(jù)。一、Request對象2)使用QueryString集合接81一、Request對象(五)使用Request對象讀取Cookie值1.Cookie簡介

Cookie是由WEB服務(wù)器嵌入到用戶的瀏覽器中用以標(biāo)識用戶的一種標(biāo)記。當(dāng)用戶再次訪問WEB服務(wù)器的網(wǎng)頁時,將把以前WEB服務(wù)器寫入的Cookie值再傳送給服務(wù)器。Cookie里的數(shù)據(jù)完全由WEB服務(wù)器的管理者決定,每個站點的Cookie與其他所有站點的Cookie存在同一文件夾中的不同文件內(nèi)。一個Cookie就是一個唯一標(biāo)識客戶的標(biāo)記,使用Cookie還可以在頁面之間交換信息。Request提供的Cookies集合允許用戶檢索在HTTP請求中發(fā)送的cookie的值。當(dāng)WEB服務(wù)器想知道某個用戶是否曾經(jīng)進(jìn)入到它的站點或想獲取某個使用者的相關(guān)資料時,便可使用Cookie。一、Request對象(五)使用Request對象讀取C82一、Request對象2.獲取Cookies的方法1)語法Request.Cookies(cookie)[(key)|.attribute]

2)參數(shù)cookie指定要讀取的cookie名稱。key可選參數(shù),用于從cookie字典中檢索子關(guān)鍵字的值。所謂字典就是相同變量名的一批不同的Cookie變量,這些變量通過不同的關(guān)鍵字(key)來存儲值和相互區(qū)分??梢酝ㄟ^包含一個key值來訪問cookie字典的子關(guān)鍵字。attribute指定cookie自身的有關(guān)信息。一個Cookies可以包含多個相關(guān)的關(guān)鍵字,這樣的Cookies被稱為“Cookies字典”,可以通過包含一個key值來訪問cookie字典的子關(guān)鍵字。如果訪問cookie字典時未指定key,則所有關(guān)鍵字都會作為單個查詢字符串返回。

一、Request對象2.獲取Cookie83一、Request對象3.cookies值存放的位置

(1)XP在系統(tǒng)安裝目錄下的DocumentsandSettings文件夾中用戶登錄子文件夾下的Cookies目錄下。

(2)win98在Windows目錄下的temporaryinternetfile子文件夾中。(3)win2000在DocumentsandSettings文件夾中的用戶登錄文件夾中的Cookies目錄下。

一、Request對象3.cookies值84一、Request對象

(六)ServerVariables集合當(dāng)客戶端瀏覽器向服務(wù)器發(fā)送頁面請求時,除了將所請求頁面的URL地址傳送給服務(wù)器之外,也將客戶端瀏覽器的類型、版本等信息一起傳送給服務(wù)器,這些信息統(tǒng)稱為請求標(biāo)題頭。當(dāng)服務(wù)器響應(yīng)客戶端瀏覽器的請求時,除了將所請求的文件傳遞給客戶端之外,也將該文件的大小、日期等信息一起傳送給客戶端,這些信息稱為響應(yīng)標(biāo)題頭。請求標(biāo)題頭和響應(yīng)標(biāo)題頭統(tǒng)稱為HTTP標(biāo)頭。

一、Request對象(六)ServerV85一、Request對象

(六)ServerVariables集合當(dāng)客戶端瀏覽器向服務(wù)器發(fā)送頁面請求時,除了將所請求頁面的URL地址傳送給服務(wù)器之外,也將客戶端瀏覽器的類型、版本等信息一起傳送給服務(wù)器,這些信息統(tǒng)稱為請求標(biāo)題頭。當(dāng)服務(wù)器響應(yīng)客戶端瀏覽器的請求時,除了將所請求的文件傳遞給客戶端之外,也將該文件的大小、日期等信息一起傳送給客戶端,這些信息稱為響應(yīng)標(biāo)題頭。請求標(biāo)題頭和響應(yīng)標(biāo)題頭統(tǒng)稱為HTTP標(biāo)頭。在HTTP的頭文件中會記錄一些客戶端的信息以及服務(wù)器的環(huán)境變量的值,用ServerVariables集合獲取所需信息。

獲取ServerVariables集合數(shù)據(jù)的語法格式如下:

Request.ServerVariables(服務(wù)器環(huán)境變量)常用的服務(wù)器環(huán)境變量(見下表)

一、Request對象(六)ServerV86一、Request對象

一、Request對象87二、Response對象這個對象是用于控制和管理由服務(wù)服務(wù)器發(fā)送到瀏覽器的數(shù)據(jù),將服務(wù)器端的數(shù)據(jù)以HTML格式發(fā)送到客戶端的瀏覽器。 Response對象和Request對象結(jié)合在一起使用,才能真正實現(xiàn)數(shù)據(jù)的動態(tài)交互功能。Response對象的使用格式為:

Response·屬性Response·方法Response·Cookies集合二、Response對象這個對象是用于控制88二、Response對象(一)Response對象的屬性

1.Buffer

Buffer屬性指示是否打開緩存頁輸出,打開緩存可以減少服務(wù)器端和客戶端的連接次數(shù)而提高整體的響應(yīng)速度,并可在滿足某些條件時撤消已經(jīng)處理的結(jié)果,而不會出現(xiàn)響應(yīng)完成一部分就停止的現(xiàn)象。打開緩存的缺點是對于較長而且較復(fù)雜的腳本處理過程,用戶等待的時間較長。2.Expires Expires屬性指定了在用戶瀏覽器的緩沖區(qū)存儲的當(dāng)前頁面距離過期還有多少時間(以分鐘為單位)。

如果用戶在某個頁面過期之前又訪問此頁,就會直接從緩沖區(qū)中讀取該頁面并顯示,若超過該時間,則網(wǎng)面過期,緩沖區(qū)中內(nèi)容失效,網(wǎng)頁會自動從服務(wù)器重新讀取該頁面的內(nèi)容并顯示。3.ExpiresAbsoluteExpiresAbsolute屬性指定緩存于瀏覽器中的頁面的確切到期日期和時間。

二、Response對象(一)Respon89二、Response對象

4.ContentType

ContentType屬性設(shè)置服務(wù)器響應(yīng)的HTTP內(nèi)容類型,設(shè)置了該屬性后,可以告訴瀏覽器所期望的內(nèi)容類型是什么,默認(rèn)為text/html。5.其他的屬性:CacheControl決定代理服務(wù)器是否能緩存ASP生成的輸出。Charset將字符集的名稱添加到內(nèi)容類型標(biāo)題中。IsClientConnected表明客戶端是否與服務(wù)器斷開。Pics將PICS標(biāo)記值添加到響應(yīng)標(biāo)題的PICS標(biāo)記字段中。tatus服務(wù)器返回的狀態(tài)行的值。

二、Response對象4.Content90二、Response對象(二)Response對象的方法

1.向客戶端輸出數(shù)據(jù)的方法:WriteWrite實現(xiàn)服務(wù)器向客戶端瀏覽器輸出內(nèi)容,其輸出的內(nèi)容可以是文本、任何正確的HTML標(biāo)記和腳本。使用Write方法時應(yīng)注意以下問題:1)若輸出的內(nèi)容是常量或HTML標(biāo)記,應(yīng)該將內(nèi)容放在“”之間,如果輸出的內(nèi)容中包含有雙引號,則可以用單引號代替。2)若輸出的內(nèi)容中有常量和變量,則常量和變量之間用“&”連接。注意Document對象的Write方法和Response對象的Write方法的區(qū)別。

二、Response對象(二)Response對象的方法91二、Response對象2.清除輸出緩存中的內(nèi)容方法:Clear可以用Clear方法清除緩存中的所有HTML輸出內(nèi)容。3.停止向客戶端輸出數(shù)據(jù)方法:End End方法使Web服務(wù)器停止處理腳本并立即返回當(dāng)前已經(jīng)處理過的結(jié)果,然后清除緩沖區(qū)中的內(nèi)容。二、Response對象2.清除輸出緩存中的內(nèi)容方法:Cle92二、Response對象4.重定向網(wǎng)址方法:Redirect

Redirect方法使瀏覽器立即重定向到程序指定的URL,可以根據(jù)客戶的不同響應(yīng),為不同的客戶指定不同的頁面。

該方法必須在HTML標(biāo)記之前或者任何內(nèi)容被輸出之前調(diào)用,否則將出錯。若要在HTML標(biāo)記之后調(diào)用此方法。則必須將Response.Buffer設(shè)置為True。

一旦使用了Redirect方法,在網(wǎng)頁中企圖向客戶端輸出正文內(nèi)容的效果都將被忽略。5.向客戶端輸出二進(jìn)制方法:BinaryWrite

用此方法向客戶端輸出二進(jìn)制數(shù)據(jù),如圖像或聲音文件等。

語法格式為:Response.BinaryWritedata

其中:data代表要輸出的數(shù)據(jù)。6.其他的方法:AddHeader從名稱到值設(shè)置HTML標(biāo)題。AppendToLog在該請求的Web服務(wù)器日志條目后添加字符串。Flush立即發(fā)送緩沖的輸出。

二、Response對象4.重定向網(wǎng)址方法:Redirect93二、Response對象(三)Response對象的集合

前面提到可以通過Request對象實現(xiàn)對cookie的讀取,這里通過Response對象的Cookies集合中設(shè)置cookie的值。若指定的cookie變量在Cookies集合中不存在則創(chuàng)建它。若存在則設(shè)置新的值并且將舊值刪去。

語法格式如下:

Response.Cookies(cookiename)[(key)|.attri]=value?

1)cookiename:是指定所要設(shè)置的cookie名字。?

2)Key:為Cookie指定關(guān)鍵字。如果為Cookie指定了關(guān)鍵字,則該cookie就是一個字典,它可以擁有多個Cookie值。

3)Attri:

指定cookie的屬性。常用的attri參數(shù)可以是下列之一

:v

Expires:指定Cookie的過期日期。為了在會話結(jié)束后將Cookie存儲在客戶端磁盤上,必須設(shè)置該日期。若此項屬性的設(shè)置未超過當(dāng)前日期,則在任務(wù)結(jié)束后Cookie將到期。

HasKeys:

指定Cookie是否包含關(guān)鍵字。二、Response對象(三)Response對象的集合94二、Response對象(四)Response對象的示例:1)根據(jù)客戶的不同信息引導(dǎo)至相應(yīng)的網(wǎng)頁<%Response.Bufer=True><html><head><title>Response.Redirect用法示例</title></head><body><%Dimuser_typeUse_type=”teacher”`用戶類型,一般應(yīng)該傳過來,這里簡單賦值了Ifuser_type=”teacher”ThenResponse.Redirect”teacher.asp”將教師用戶至教師網(wǎng)頁ElseResponse.Redirect”student.asp1將學(xué)生用戶引導(dǎo)至學(xué)生網(wǎng)頁EndIf%></body></html>程序說明:在該程序中,會自動引導(dǎo)至teacher.asp。

二、Response對象(四)Response對象的示例:95二、Response對象2)直接重定向Redirect方法在開發(fā)時是比較常用的,比如,在一些電子商務(wù)系統(tǒng)或其他管理系統(tǒng)中,一般不希望客戶不從首頁登錄就直接訪問其他頁面,就可以在其他頁的開頭加幾句,如果沒有登錄,就重定向回首頁。比如:<%IfSession(“user_name”)=””Then`表示用戶還沒有登錄Response.Redirect”index.asp”`引導(dǎo)至首頁index.aspEndIf%><html>……………</html>二、Response對象2)直接重定向96二、Response對象程序說明:1)在上面一段程序中,Session(“user_name”)=“”表示用戶名為空,即用戶還沒有登錄,其中Session也是ASP一個內(nèi)部對象。2)因為Redirect語句本身在所有的HTML元素之前,所以開頭就不必加,<%Response.Bufer=True>這一句話。二、Response對象程序說明:97三、Session對象三、Session對象98三、Session對象Session的工作原理比較復(fù)雜的:在一個應(yīng)用程序中,當(dāng)客戶端啟動一個Session時,ASP會自動產(chǎn)生一個長整數(shù)SessionID,并且把這個SessionID送回給客戶端瀏覽器,瀏覽器會把這個SessionID存放在Cookies內(nèi)。當(dāng)客戶端再次向服務(wù)器發(fā)送HTTP請求時,ASP會去檢查申請表頭的SessionID,并回應(yīng)該SessionID對應(yīng)的Session信息。需要注意的是,會話狀態(tài)僅在支持Cookie的瀏覽器中保留,如果客戶關(guān)閉了Cookie選項,Session也就不能發(fā)揮作用了。三、Session對象Session的工作原理比99三、Session對象(一)在Session對象中存儲數(shù)據(jù)可以在Session對象中存儲數(shù)值變量和對象變量。通過對Session對象中的命名項賦值,可將變量存儲在Session對象中。Session("變量名稱")=值若要讀取該Session變量的值,可以使用下列形式:變量=Session(“變量名稱”)

三、Session對象(一)在Session對象中存儲數(shù)據(jù)100三、Session對象(二)屬性

1.用戶會話標(biāo)識屬性:SessionID用戶第一次請求應(yīng)用程序中的.asp文件時,ASP將生成一個SessionID值,它唯一地標(biāo)識每個用戶的對話,新會話開始時,服務(wù)器將SessionID作為Cookie存貯到用戶Web瀏覽器中。

2.會話超時屬性:TimeOutTimeout屬性以分鐘為單位為該應(yīng)用程序的Session對象指定超時時限。如果用戶在指定時間內(nèi)沒有請求或刷新應(yīng)用程序中的任何頁,會話將自動結(jié)束。這段時間的默認(rèn)值是20分鐘。3.方法

Abandon方法可以刪除所有存儲在Session對象中的對象并釋放這些對象。如果沒有明確地調(diào)用Abandon方法,一旦會話超時,服務(wù)器將刪除這些對象。

三、Session對象(二)屬性101三、Session對象4.事件

Session對象有兩個事件,它們是onStart和onEnd事件。它們分別在Session對象啟動和釋放時被激活,運行其中的代碼。不過該兩個事件必須與Global.asa文件結(jié)合使用。1)Session_OnStart事件這個事件在服務(wù)器創(chuàng)建新會話時發(fā)生。服務(wù)器在執(zhí)行請求的頁之前先處理該腳本。Session_OnStart事件是設(shè)置會話期變量的最佳時機(jī),因為在訪問任何頁之前都會先設(shè)置它們。

2)Session_OnEnd事件在會話被放棄或超時發(fā)生。

該事件在會話超時或會話被放棄時發(fā)生。

三、Session對象4.事件102三、Session對象5.Global.asa文件Global.asa是站點根目錄下的一個可選文件,可以在該文件中指定事件腳本,也可以聲明具有會話和應(yīng)用程序作用域的對象。該文件的內(nèi)容不是用來給用戶顯示的,而是用來存儲事件信息和由應(yīng)用程序全局使用的對象。每個應(yīng)用程序只能有一個Global.asa文件。在Global.asa文件中,如果包含的腳本沒有用<SCRIPT>標(biāo)記封裝,或定義的對象沒有會話或應(yīng)用程序作用域,則服務(wù)器將返回錯誤??梢允褂萌魏沃С帜_本的語言編寫Global.asa文件中包含的腳本。如果多個事件使用同一種腳本語言,就可以將它們組織在一組<SCRIPT>標(biāo)記中。

三、Session對象5.Global.asa文件103三、Session對象下面是一個很標(biāo)準(zhǔn)的Global.asa文件使用格式:

<SCRIPTLANGUAGE="VBScript"RUNAT="Server">SubApplication_onStart………EndsubSubsession_onstart………endsubSubsession_onend……。。endsubSubApplication_onEnd………EndSub

</SCRIPT>三、Session對象下面是一個很標(biāo)準(zhǔn)的Global.as104四、Application對象

應(yīng)用程序的運行實例用Application對象表示,其生存期從請求該應(yīng)用程序的第一個頁面開始,直到Web站點關(guān)閉時才結(jié)束。由于存貯在Application對象中的數(shù)據(jù)可以被訪問該應(yīng)用程序的所有用戶所共享,因此可以使用Application對象,在給定的應(yīng)用程序的所有用戶之間共享信息,并在服務(wù)器運行期間持久的保存數(shù)據(jù)。(一)定義Application類型的變量

使用以下語法格式設(shè)置用戶定義的Application變量:

Application("變量名稱")=值若要讀取該Application變量的值,可以使用下列形式:變量=Application(“變量名稱”)Application變量可以像普通變量一樣地進(jìn)行運算,但使用時不要忘記加上Application。一旦我們定義了Application變量,它就會持久地存在,直到關(guān)閉WEB服務(wù)器服務(wù)使得Application停止。由于存儲在Application對象中的數(shù)值可以被應(yīng)用程序的所有用戶讀取,所以Application變量特別適合在應(yīng)用程序的用戶之間傳遞信息。

四、Application對象應(yīng)用程序的105四、Application對象

(二)方法

Application對象有兩個方法,它們都是用于處理多個用戶對存儲在Application中的數(shù)據(jù)進(jìn)行寫入的問題。

1.用Lock方法禁止其他客戶修改Application變量的值

用Lock方法可以確保在同一時刻僅有一個客戶可修改和存取Application變量,這樣可以保證數(shù)據(jù)的完整性和一致性。

2.用Unlock方法解除對Application對象的鎖定 Unlock方法允許其他客戶修改Application對象的屬性。當(dāng)一個用戶調(diào)用一次Lock方法后,如果任務(wù)完成,應(yīng)該調(diào)用Unlock任務(wù)解鎖,以便其它用戶可以訪問該變量。如果用戶沒有明確調(diào)用Unlock方法,則服務(wù)器將在.asp文件結(jié)束或超時后即自動解除對Application對象的鎖定。四、Application對象(二)方法106四、Application對象

(三)事件

在Application對象中有兩個非常重要的事件:Application_OnStart和Application_OnEnd事件。1.

Application_OnStart事件

該事件是在第一個用戶對WEB應(yīng)用程序訪問時發(fā)生,在應(yīng)用程序結(jié)束之前,如果再有其它用戶訪問此WEB應(yīng)用程序,該事件也不再發(fā)生。Application_OnStart事件的語法如下

:SubApplication_OnStart()……EndSub2.

Application_OnEnd事件該事件在應(yīng)用程序退出時于Session_OnEnd事件之后發(fā)生。注意:以上兩個事件的處理過程必須寫在站點根目錄下的Global.asa文件之中。

四、Application對象(三)事件107四、Application對象

(四)Application對象的實例第一步:新建Global.asa文件到站點的根目錄下。在該文件中,設(shè)置了一個應(yīng)用程序全局變量Counter,初始值為99。即,應(yīng)用程序開始運行時,Counter變量值為99。

四、Application對象(四)Application108四、Application對象

(四)Application對象的實例第二步:新建app01.asp文件,內(nèi)容如下圖。該文件中更新了Counter變量的值,并輸出到客戶端。

四、Application對象(四)Application109四、Application對象

(四)Application對象的實例第三步:打開WEB站點上的該文件,查看其輸出內(nèi)容,然后刷新該頁面,注意頁面顯示內(nèi)容的變化。

四、Application對象(四)Application110四、Application對象

(四)Application對象的實例第四步:對Global.asa及app01.asp文件做如下修改。

四、Application對象(四)Application111四、Application對象

(四)Application對象的實例第五步:打開一個瀏覽器查看WEB站點上的app01.asp頁面,注意application變量與session變量的區(qū)別。

四、Application對象(四)Application112第七節(jié)

使用ADO訪問數(shù)據(jù)庫

一、ASP與ADO

二、建立鏈接

返回第七節(jié)使用ADO訪問數(shù)據(jù)庫一、ASP與ADO113一、ASP與ADO

(一)ODBC技術(shù)簡介

ODBC是OpenDatabaseConnectivity的縮寫,稱為開放式數(shù)據(jù)庫鏈接,它相當(dāng)于是一個數(shù)據(jù)庫引擎,或者也可以理解為是一種數(shù)據(jù)庫管理的驅(qū)動程序。由于不同的數(shù)據(jù)庫系統(tǒng)的運作方式和存取方法是各不相同的,為了能統(tǒng)一對不同數(shù)據(jù)庫的存取操作,就產(chǎn)生了ODBC技術(shù),它相當(dāng)于是一個用戶應(yīng)用程序和數(shù)據(jù)庫之間的接口。有了ODBC驅(qū)動程序,就可以實現(xiàn)用同樣的方法來存取不同類型的關(guān)系類型數(shù)據(jù)庫,而不必關(guān)心是具體什么樣的數(shù)據(jù)庫。

由于ASP程序要運行在服務(wù)器端,數(shù)據(jù)庫也存放在服務(wù)器端,所以應(yīng)該在服務(wù)器端安裝數(shù)據(jù)庫所對應(yīng)的ODBC驅(qū)動程序。(二)OLEDB技術(shù)簡介OLEDB是美國微軟公司用來代替ODBC而采用的一種數(shù)據(jù)庫訪問技術(shù)。利用ODBC只能訪問關(guān)系類型的數(shù)據(jù)庫,而對于非關(guān)系類型的數(shù)據(jù)庫就無能為力了,OLEDB則是一種對關(guān)系型和非關(guān)系型數(shù)據(jù)庫都可以訪問的一種數(shù)據(jù)庫訪問技術(shù)。利用OLEDB不但可以訪問數(shù)據(jù)庫,也可以訪問電子郵件、EXCEL電子表格、Web上的文本等非數(shù)據(jù)庫的數(shù)據(jù)源。

一、ASP與ADO(一)ODBC技術(shù)簡介114一、ASP與ADO

一、ASP與ADO115一、ASP與ADO

一、ASP與ADO116二、建立鏈接(一)創(chuàng)建數(shù)據(jù)源名

打開Windows的“控制面板”,找到圖標(biāo)“32位ODBC)”(有一些系統(tǒng)上叫“ODBC”、“32bitODBC”),雙擊,出現(xiàn)對話框,選中標(biāo)簽“系統(tǒng)DSN”,點擊“新建”,選驅(qū)動程序為MicrosoftAccessMDB,單擊“完成”,彈出對話框,輸出“DataSourceName”為“dsn1”,單擊“OK”,再單擊“選擇數(shù)據(jù)庫”,選中你要使用的數(shù)據(jù)庫

溫馨提示

  • 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

提交評論