版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PAGE PAGE 32 ASP和ADO在網(wǎng)上圖書管理系統(tǒng)中的應(yīng)用摘 要 :本文介紹了網(wǎng)上圖書管理系統(tǒng)的構(gòu)成。重點(diǎn)從實(shí)現(xiàn)技術(shù)方面探討了應(yīng)用于網(wǎng)上圖書管理系統(tǒng)中的ASP技術(shù)和ADO技術(shù)以及二者之間的聯(lián)系。ASP 內(nèi)含于 IIS 3.0 和 4.0 之中 , 通過 ASP 我們可以結(jié)合 HTML 網(wǎng)頁(yè)、 ASP 指令和 ActiveX 元件建立動(dòng)態(tài)、交互且高效的 WEB 服務(wù)器應(yīng)用程序。同時(shí)介紹了DREAMWEAVER的用法,以及如何用DREAMWEAVER和ASP結(jié)合開發(fā)動(dòng)態(tài)商業(yè)網(wǎng)站。關(guān)鍵詞 數(shù)據(jù)庫(kù); ASP; ADOThe Application of ASP and ADO in the S
2、ystem of Library Management on the InternetAbstract: The essay introduces the composition of the system of library management on the internet supporting the surroundings. The focal point is that it explores ASP technology, ADO technology and their contact which applied the system of library manageme
3、nt on the internet from realizing technologic aspect.ASP is included in IIS3.0 and IIS4.0 .By ASP, we can combine the HTML web, ASP order and ActiveX element to set up WEB server application which is dynamic, alternant and highly efficient.Meanwhile, the essay introduces the usage of DREAMWEAVER and
4、 how to use the combination of DREAMWEAVER and ASP to exploit the dynamic contact points in commercial network.Key word: database; ASP; ADO第一章 問題的提出圖書館圖書更換頻繁, 這就要求圖書館的管理人員必須能夠及時(shí)準(zhǔn)確的了解圖書中所有圖書的庫(kù)存等相關(guān)信息,以前這樣的信息采集都是依靠人工在下班后根據(jù)當(dāng)天的圖書統(tǒng)計(jì)而來,這樣的信息一般不很準(zhǔn)確。“管理出效益”這句話要是用在圖書館的管理方面那是再貼切不過了,由于管理不善出現(xiàn)管理黑洞而造成效益的大量損耗在許多圖書館
5、中出現(xiàn)。隨著科學(xué)技術(shù)的發(fā)展,網(wǎng)絡(luò)技術(shù)的成熟,網(wǎng)上圖書管理系統(tǒng)成為當(dāng)今網(wǎng)絡(luò)的最常見的工具。網(wǎng)上圖書管理系統(tǒng)實(shí)現(xiàn)了真正意義上的數(shù)據(jù)實(shí)時(shí)傳輸,為管理者及時(shí)做出決策提供了依據(jù)。第二章 網(wǎng)上圖書管理系統(tǒng)的構(gòu)成傳統(tǒng)圖書館最主要的職能是收藏,并在對(duì)所收藏的圖書資料進(jìn)行保存和組織的基礎(chǔ)上為讀者提供各種服務(wù)。但是隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,電子圖書館的建立更大的方便了讀者,這里顯然不會(huì)只有圖書,它會(huì)集成音頻、視頻、多媒體等各種其它形式的媒體資源,創(chuàng)造出一個(gè)前所未有的閱讀新空間。學(xué)校圖書館數(shù)據(jù)庫(kù)建設(shè)主要需要圖書館對(duì)各種信息資源進(jìn)行綜合分析處理,提取主要信息要素,按一定的規(guī)范格式存貯到計(jì)算機(jī)中,從而將圖書館館藏信息轉(zhuǎn)化為計(jì)
6、算機(jī)可處理的數(shù)字信息。圖書館的數(shù)據(jù)庫(kù)中最基本又最復(fù)雜的數(shù)據(jù)庫(kù)是書目數(shù)據(jù)庫(kù),圖書館電子閱覽室的編目、流通、閱覽、文獻(xiàn)檢索及二次文獻(xiàn)的開發(fā)等工作的自動(dòng)化都是以書目數(shù)據(jù)庫(kù)建設(shè)為基礎(chǔ)。一般認(rèn)為圖書館后臺(tái)數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)化、規(guī)范化建設(shè)是實(shí)現(xiàn)圖書館自動(dòng)化的基礎(chǔ)和關(guān)鍵。則應(yīng)在此基礎(chǔ)上實(shí)現(xiàn):1:全面完整地反映信息,不僅要揭示文獻(xiàn)的基本信息,還要包容具有一定深度和精度的信息。 2:提供多種信息檢索手段。選取能反映數(shù)據(jù)的特征、最有可能被用到的檢索途徑,提高檢索的查全率和查準(zhǔn)率。3:可以高速的查詢資料,單位時(shí)間內(nèi)為更多的老師、學(xué)生、網(wǎng)上學(xué)習(xí)者提供資料服務(wù),以提高閱覽室的使用率、利用率。實(shí)現(xiàn)上述功能特征需要圖書館的電子閱覽
7、室可以運(yùn)行和檢索本地書目數(shù)據(jù)庫(kù)、運(yùn)行和檢索本地大型全文數(shù)據(jù)庫(kù)(包括中國(guó)學(xué)術(shù)期刊、超星圖書館等)、實(shí)現(xiàn)VOD實(shí)時(shí)點(diǎn)播視聽資料、訪問Internet(10M)、檢索和共享使用各類光盤資料和數(shù)據(jù)庫(kù)(包括人民日?qǐng)?bào)、人大報(bào)刊復(fù)印資料等)、有多媒體教學(xué)功能等。 網(wǎng)上圖書管理系統(tǒng)包括圖書展示和留言功能子系統(tǒng)。圖書展示系統(tǒng):在這個(gè)系統(tǒng)展示了圖書館的圖書,同時(shí)分類顯示了各種圖書,并有最新圖書提示。集成了增加和刪除圖書的功能,同時(shí)可以上傳圖片。使用ADO連接圖書數(shù)據(jù)庫(kù)后,通過服務(wù)端的ASP進(jìn)行各種功能的顯示。留言功能子系統(tǒng):提供了讀者與圖書之間的交流平臺(tái)。可以擴(kuò)大圖書的業(yè)務(wù)范圍。則擬建立拓?fù)鋱D為圖一的圖書館管理系
8、統(tǒng)。 圖第三章 應(yīng)用ASP和ADO技術(shù)構(gòu)建網(wǎng)上圖書管理系統(tǒng)3.1 ASP技術(shù)ASP(Active Server Pages,動(dòng)態(tài)服務(wù)器主頁(yè)),是開發(fā)該系統(tǒng)的關(guān)鍵技術(shù)。采用Microsoft ASP技術(shù)實(shí)現(xiàn)WEB接口,連接數(shù)據(jù)庫(kù)服務(wù)器,處理服務(wù)器端的程序,動(dòng)態(tài)生成WEB頁(yè)面。作為Microsoft公司推出的IIS3.0、IIS4.0服務(wù)器的一個(gè)組件,它將腳本式編程語(yǔ)言直接嵌入HTML語(yǔ)言中,通過執(zhí)行腳本語(yǔ)句,實(shí)現(xiàn)處理運(yùn)算,變量輸出和子過程調(diào)用等功能。ASP提供了一個(gè)服務(wù)器的Scripting 環(huán)境,能夠利用它建立和運(yùn)行動(dòng)態(tài)的、交互的、高效的網(wǎng)絡(luò)服務(wù)器的應(yīng)用程序。因?yàn)锳SP是基于DCOM(Dist
9、ributed Component Object Model,分布式組件對(duì)象模型)構(gòu)架,所以程序構(gòu)架可以在本地或網(wǎng)絡(luò)上以分布方式執(zhí)行。由于HTTP瀏覽器本身具有跨多種軟硬件平臺(tái)的優(yōu)勢(shì),因此是一種極好的客戶端操作平臺(tái),這就構(gòu)成了瀏覽器/服務(wù)器的框架模型。有了ASP,程序與外觀得到分離,通過使用腳本和組件,ASP允許用戶將編程工作與一個(gè)網(wǎng)頁(yè)的設(shè)計(jì)和其他工作分離出來。在傳統(tǒng)情況下,開發(fā)WEB應(yīng)用時(shí),要嵌入一些Script語(yǔ)言如VBScript、JavaScript到HTML中,使這些Script運(yùn)行于客戶端,也就是瀏覽器,但并不是每個(gè)瀏覽器都支持所有的Script語(yǔ)言,現(xiàn)在只有Netscape 2.
10、0以上,IE3.0以上和Opera3.0以上支持Script語(yǔ)言,這對(duì)應(yīng)用帶來很大的不便。使用ASP時(shí),應(yīng)用程序是在服務(wù)器端運(yùn)行而不是在客戶端運(yùn)行。當(dāng)用戶訪問一個(gè)ASP頁(yè)面時(shí),首先WEB服務(wù)器調(diào)用ASP文件,并讀取ASP文件的全部?jī)?nèi)容后并開始執(zhí)行所有的Script命令,生成標(biāo)準(zhǔn)的HTML頁(yè),再把這些HTML頁(yè)傳送到用戶端的瀏覽器上,并完成操作,如圖2所示。這樣,只要運(yùn)行普通的瀏覽器,而不必?fù)?dān)心所用的瀏覽器的類型,實(shí)現(xiàn)了瀏覽器的無關(guān)性以下羅列了 Active Server Pages 所獨(dú)具的一些特點(diǎn):. 使用簡(jiǎn)單易懂的腳本語(yǔ)言,結(jié)合 HTML 代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。 . 無須 c
11、ompile 編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。 . 使用普通的文本編輯器,如 Windows 的記事本,即可進(jìn)行編輯設(shè)計(jì)。 . 與瀏覽器無關(guān) (Browser Independence), 用戶端只要使用可執(zhí)行 HTML 碼的瀏覽器,即可瀏覽 Active Server Pages 所設(shè)計(jì)的網(wǎng)頁(yè)內(nèi)容。 Active Server Pages 所使用的腳本語(yǔ)言 (VBScript 、 Jscript) 均在 WEB 服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語(yǔ)言。 . Active Server Pages 的源程序,不會(huì)被傳到客戶瀏覽器,因而可以避免所寫的源程序被他人剽竊,也提高
12、了程序的安全性。 圖2ASP框架提供的對(duì)象(相關(guān)的方法,事件和屬性)含有WEB服務(wù)器和它的環(huán)境信息,使得處理簡(jiǎn)單、易于管理,并提供了一個(gè)靈活的數(shù)據(jù)存儲(chǔ)系統(tǒng)。ASP框架的六個(gè)內(nèi)置對(duì)象為:1.Request對(duì)象 是從客戶端取得信息。2.Response對(duì)象 將信息送給客戶端。3.Session對(duì)象 存儲(chǔ)在一個(gè)Session內(nèi)的用戶信息。4.Application對(duì)象 在一個(gè)ASP-Application內(nèi)讓不同的客戶端共享信息。5.Server對(duì)象 提供一些服務(wù)端使用的方法。6.Objectcontext對(duì)象 可以配合Microsoft Transaction Server進(jìn)行分布式事務(wù)處理。其中
13、,Request對(duì)象用來連接客戶端的WEB頁(yè)(.html文件)和服務(wù)器端的WEB頁(yè)(.asp文件),使得它們之間可以交換數(shù)據(jù)。Request對(duì)象允許ASP查詢有關(guān)于交互的客戶程序信息,Request對(duì)象代表由客戶端發(fā)往HTTP的請(qǐng)求報(bào)文。Response對(duì)象用于向客戶端瀏覽器發(fā)送數(shù)據(jù)。用戶可以使用該對(duì)象將服務(wù)器端的數(shù)據(jù)用HTML超文本的格式發(fā)送到用戶端的瀏覽器。Session指的就是訪問者從到達(dá)某個(gè)特定主頁(yè)到離開為止的那段時(shí)間,每個(gè)訪問者都會(huì)單獨(dú)獲得一個(gè)Session。Session可以用來存儲(chǔ)訪問者的一些信息,可以創(chuàng)建虛擬借書籃,還可以用來跟蹤訪問者的習(xí)慣。同Application對(duì)象相比,
14、Session對(duì)象更接近于全局變量。Application對(duì)象是個(gè)應(yīng)用程序級(jí)的對(duì)象,用來在所有用戶間共享信息,并可以在WEB應(yīng)用程序運(yùn)行期間持久地保持?jǐn)?shù)據(jù)。Server對(duì)象提供了對(duì)服務(wù)器的屬性和方法的訪問。綜上所述, ASP在性能方面的優(yōu)勢(shì)體現(xiàn)在以下幾點(diǎn): (1)完全與HTML融合在一起; (2)創(chuàng)建簡(jiǎn)單,不需要編譯和鏈接,腳本可以在ASP環(huán)境下直接運(yùn)行; (3)面向?qū)ο螅δ芸梢杂葾ctiveX服務(wù)器構(gòu)件擴(kuò)展; (4)由于腳本在服務(wù)器端執(zhí)行,因此它幾乎可以支持任何一種瀏覽器。 ASP在性能和效率方面優(yōu)于CGI、IDC、ISAPI,這主要源于它先進(jìn)的體系結(jié)構(gòu),ASP直接建立于WEB服務(wù)器中,并
15、且是作為WEB服務(wù)器的一個(gè)服務(wù)運(yùn)行,支持多用戶,多線程。HTTP協(xié)議是一個(gè)無狀態(tài)的協(xié)議,WEB服務(wù)器不能記憶客戶瀏覽器過去曾發(fā)送過的請(qǐng)求信息,客戶的每次請(qǐng)求都是獨(dú)立的,彼此之間沒有聯(lián)系,因而服務(wù)器的許多時(shí)間都花費(fèi)在處理請(qǐng)求上,服務(wù)效率受到了影響。ASP擁有強(qiáng)有力的會(huì)話管理機(jī)制,它可以實(shí)現(xiàn)各請(qǐng)求之間的信息共享,提高了效率。3.2 ADO技術(shù)ADO (ActiveX Data Object,ActiveX數(shù)據(jù)對(duì)象)是針對(duì)當(dāng)前Microsoft軟件所支持的數(shù)據(jù)進(jìn)行操作的最有效、功能最強(qiáng)大的方法。它是一種功能強(qiáng)大的數(shù)據(jù)訪問編程模式,它把大部分?jǐn)?shù)據(jù)源可編程的屬性直接擴(kuò)展到Active Server上。(
16、1)ADO與OLE DBADO是統(tǒng)一數(shù)據(jù)訪問(Universal Data Access)的一個(gè)基本組件。ADO不是一個(gè)具體的數(shù)據(jù)訪問接口,而是一個(gè)數(shù)據(jù)訪問編程模型。ADO 是基于一種新的數(shù)據(jù)庫(kù)編程技術(shù):OLE DB。OLE DB是微軟公司推出的一項(xiàng)數(shù)據(jù)訪問技術(shù)。這項(xiàng)技術(shù)允許訪問所有類型和大小的數(shù)據(jù)資源,不僅是數(shù)據(jù)庫(kù)。例如,可以使用OLE DB訪問一個(gè)SQL數(shù)據(jù)庫(kù),一個(gè)Exchange信箱,一個(gè)文檔檢索系統(tǒng)。這種級(jí)別的靈活性與ODBC提供的靈活性是同一類的,只是范圍更大。(2)ADO對(duì)象ADO即Active數(shù)據(jù)對(duì)象(Data Object),是微軟公司推出的以ActiveX技術(shù)為基礎(chǔ)的數(shù)據(jù)存取
17、方法。ADO的主要特點(diǎn)是具有較少的類層次結(jié)構(gòu),使用更加容易、訪問速度更快、而對(duì)磁盤和存儲(chǔ)容量的要求更小,ADO支持各種客戶機(jī)/服務(wù)器模式與基于WEB的應(yīng)用程序,具有遠(yuǎn)程數(shù)據(jù)服務(wù)RDS的特性,通過RDS能夠在一次往返中將服務(wù)器端的數(shù)據(jù)傳送到客戶端的應(yīng)用程序或WEB頁(yè)面中,并在客戶端對(duì)數(shù)據(jù)進(jìn)行處理后,立即更新服務(wù)器端的數(shù)據(jù)。ADO基于通用對(duì)象模型 (COM),它提供編程語(yǔ)言范圍內(nèi)利用的對(duì)象,包括Visual C+以及Visual Basic,面向應(yīng)用的Visual Basic(VBA), Visual J+, VBScript應(yīng)用和JavaScript應(yīng)用。ADO在服務(wù)器或中級(jí)應(yīng)用方面是非常有用的
18、,特別是用于Microsoft Active的服務(wù)器頁(yè)面(ASP)。ADO接口是基于對(duì)象集合,但ADO對(duì)象并不依靠對(duì)象層次,大多情況下,可簡(jiǎn)單地創(chuàng)建并使用需要的對(duì)象,不必?fù)?dān)心創(chuàng)建許多應(yīng)用中并不需要的對(duì)象。下列對(duì)象類組成了ADO接口: 1Connection(連接)用于表示與數(shù)據(jù)源的連接,以及處理一些命令和事務(wù)。 2Error(錯(cuò)誤集)用于獲得可能發(fā)生的錯(cuò)誤的更詳細(xì)的信息。 3Command(命令)用于處理傳給數(shù)據(jù)源的命令。 4Parameter(參數(shù))用于對(duì)傳送給數(shù)據(jù)源的命令之間來回傳送數(shù)據(jù)。 5Recordset(記錄集)用于處理數(shù)據(jù)的表格集,包括獲取和修改數(shù)據(jù)。 6Field(字段)用于表
19、示記錄集中的列信息,包括列值以及其他信息。圖ADO各對(duì)象之間的聯(lián)系可用圖所示的ADO對(duì)象模型來表示。3.3 在ASP中使用ADOADO是復(fù)雜的,必須在對(duì)象的各層結(jié)構(gòu)中對(duì)許多屬性進(jìn)行設(shè)置和賦值。為了簡(jiǎn)化這項(xiàng)工作,在一個(gè)ASP文件需要使用ADO常量時(shí),可以使用服務(wù)器端包含預(yù)處理器命令將Visual InterDev提供的adovbs.inc文件包含在項(xiàng)目中。例如,如果將此文件放在et項(xiàng)目的Includes文件夾中,預(yù)處理器代碼行為:在ADO中,不需要?jiǎng)?chuàng)建和打開一個(gè)Connection對(duì)象就可以使用Recordset對(duì)象。但是,即使不直接使用Connection對(duì)象,它也會(huì)被創(chuàng)建。另外,也需要操作C
20、onnection對(duì)象來處理事務(wù)。如果想在多個(gè)Recordset或Command對(duì)象間共享單個(gè)Connection對(duì)象,也需要?jiǎng)?chuàng)建自己的Connection對(duì)象。Connection 對(duì)象代表與數(shù)據(jù)源進(jìn)行的唯一會(huì)話。它是ADO和數(shù)據(jù)資源之間的通訊管道或通訊路線。ADO和數(shù)據(jù)庫(kù)之間的相互作用在Connection對(duì)象中發(fā)生。第四章 網(wǎng)上圖書管理系統(tǒng)數(shù)據(jù)庫(kù)的建立使用Access2000 實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)的概念數(shù)據(jù)庫(kù)是一種存儲(chǔ)數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫(kù)的作用在于組織和表達(dá)信息,簡(jiǎn)而言之,數(shù)據(jù)庫(kù)就是信息的集合。計(jì)算機(jī)的數(shù)據(jù)庫(kù)可以分為兩類:非關(guān)系數(shù)據(jù)庫(kù)(flat-file)和關(guān)系數(shù)據(jù)庫(kù)(r
21、elational)。關(guān)系數(shù)據(jù)庫(kù)中包含了多個(gè)數(shù)據(jù)表的信息,數(shù)據(jù)庫(kù)含有各個(gè)不同部分的術(shù)語(yǔ),像記錄、域等。新建一個(gè)數(shù)據(jù)庫(kù) 創(chuàng)建任何一個(gè)數(shù)據(jù)庫(kù)的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫(kù),設(shè)計(jì)必須是靈活的、有邏輯的。創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)的過程被認(rèn)為是數(shù)據(jù)模型設(shè)計(jì)。其步驟為:1 標(biāo)識(shí)需要的數(shù)據(jù);2 收集被標(biāo)識(shí)的字段到表中;3 標(biāo)識(shí)主關(guān)鍵字字段;4 繪制一個(gè)簡(jiǎn)單的數(shù)據(jù)圖表;5 規(guī)范數(shù)據(jù);6 標(biāo)識(shí)指定字段的信息;7 創(chuàng)建物理表。修改已建的數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)的修改分為:添加、編輯和刪除記錄。這三種操作均可由ASP創(chuàng)建的程序來完成,下面將詳細(xì)描述實(shí)現(xiàn)的具體方法。用DREAMWEAVER編輯超文本文件WWW上的每個(gè)網(wǎng)頁(yè)都對(duì)應(yīng)一個(gè)文件。
22、我們?yōu)g覽一個(gè)頁(yè)面,要先把頁(yè)面所對(duì)應(yīng)的文件從提供這個(gè)文件的計(jì)算機(jī)里,通過Internet傳送到我們自己的計(jì)算機(jī)中,再由WWW瀏覽器翻譯成為我們見到的有文字、有圖形甚至有聲音的頁(yè)面。這些頁(yè)面對(duì)應(yīng)的文件不再是普通的“文本文件”,文件中除包含文字信息外,還包括了一些具體的鏈接。這些包含鏈接的文件被稱為超文本文件。 和普通文本相比,超文本文件中多了一些對(duì)文件內(nèi)容的注釋,這些注釋表明了當(dāng)前文字顯示的位置、顏色等信息,更重要的是,在有些注釋中包含了對(duì)用戶計(jì)算機(jī)應(yīng)做出何種反應(yīng)的說明,這些注釋的內(nèi)容經(jīng)過瀏覽器的翻譯后就成了不同的操作。為了使各種不同類型的WWW服務(wù)器都能正確地認(rèn)識(shí)和執(zhí)行,超文本文件要遵從一個(gè)嚴(yán)格
23、的標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)就是超文本標(biāo)識(shí)語(yǔ)言(HTML)。我們也可以利用這種語(yǔ)言來編寫超文本文件,在Internet上制作自己的WWW的主頁(yè)。 超文本文件的概念出現(xiàn)在多媒體技術(shù)迅速發(fā)展之前,現(xiàn)在隨著多媒體技術(shù)應(yīng)用的日益廣泛,超文本應(yīng)該改叫“超多媒體”更加合適,鏈接的內(nèi)容已經(jīng)從原來文本中的一個(gè)詞或詞組,發(fā)展到現(xiàn)在一幅圖象或是圖象的一部分,通過鏈接得到的內(nèi)容也更加廣泛,可以是地球另一端的某臺(tái)計(jì)算機(jī)上的圖片、聲音、音樂或者電影。但不管叫超文本還是叫做超多媒體,WWW上各網(wǎng)頁(yè)都是通過鏈接來完成相互間的訪問。而要使訪問正常進(jìn)行,必須使這些鏈接能夠正確地指向所要訪問的網(wǎng)頁(yè)。這些工作是通過統(tǒng)一資源定位器(URL)來實(shí)
24、現(xiàn)的。用Dreamweaver創(chuàng)建和管理網(wǎng)站第一步:選擇SiteOpen Site打開一個(gè)站點(diǎn)。然后在Site選項(xiàng)中雙擊,DW會(huì)自動(dòng)彈出Site Definition for(站點(diǎn)名稱)站點(diǎn)定義對(duì)話框。選擇第二項(xiàng)Remote Info遠(yuǎn)端信息,在Access數(shù)據(jù)列表中有個(gè)附屬選項(xiàng),選擇第二項(xiàng)FTP,打開FTP遠(yuǎn)程管理設(shè)置面板進(jìn)行設(shè)置??聪聢D及注解:注解:首先來看上半部分。其中FTP Host即FTP登陸地址;Host Directory即遠(yuǎn)程文件夾。在這里你可以指定一個(gè)用來上載文件的目錄。如果是直接上傳到根目錄下,敲入“”即可;Login即用戶名;Password即遠(yuǎn)程登陸密碼;Use Pas
25、sive FTP即使用被動(dòng)的FTP功能;Use Firewall一項(xiàng)為使用防火墻。這一部分都是為遠(yuǎn)程登陸所做的一些必要設(shè)置?,F(xiàn)在來看下半部分。本身Check In/Out是一個(gè)副選項(xiàng),因?yàn)閱稳斯芾碚军c(diǎn)時(shí)是用不到該功能的。首先要勾選它,才可以看到下面的內(nèi)容。其中Check Out Files when Opening即提示我們“在檢查文件時(shí)打開”,這里的“打開”的內(nèi)容就是指下面的Check Out Name(檢驗(yàn)者名稱)以及Email Address(檢查者的郵件地址)。它的作用在于,當(dāng)多位用戶同時(shí)登陸遠(yuǎn)程站點(diǎn)進(jìn)行管理時(shí)用來表明各自的身份。第二步:做完相關(guān)設(shè)置后,點(diǎn)下OK鍵返回到站點(diǎn)管理狀態(tài),讓
26、我們來觀察一下,做完設(shè)置后站點(diǎn)管理器發(fā)生了什么變化。見下圖及注解:注解:圖展示的是沒有做遠(yuǎn)程管理設(shè)置時(shí)本地站點(diǎn)管理器的狀態(tài)。圖所展示的是遠(yuǎn)程管理設(shè)置已經(jīng)完成等待連接遠(yuǎn)程服務(wù)器的狀態(tài)。同時(shí),我們發(fā)現(xiàn)當(dāng)設(shè)置了Check In/Out功能后,狀態(tài)欄中就多出了兩個(gè)分別帶有“對(duì)號(hào)”和“鎖頭”標(biāo)識(shí)的圖標(biāo)。其中,帶有“對(duì)號(hào)”的圖標(biāo)即代表Check Out功能?!版i頭”即帶表Check In功能。 第三步:說到這里,那么究竟Check In/Out功能在管理站點(diǎn)過程中會(huì)產(chǎn)生什么樣的效果呢?現(xiàn)在就讓我們來看一看在連接了遠(yuǎn)程服務(wù)器后,利用它們進(jìn)行遠(yuǎn)程文件管理時(shí)的效果和作用。見下圖及注解:圖1圖2圖3注解:首先我們
27、要連接到遠(yuǎn)程站點(diǎn)。連接后,選擇一些文件按下驗(yàn)證,這時(shí)候遠(yuǎn)程站點(diǎn)與本地站點(diǎn)中相同的文件將同步的被勾畫上“對(duì)號(hào)”(見圖1所示)。它代表著“我正在修改這些文件,你小子別動(dòng)彈”。“對(duì)號(hào)”將針對(duì)不同管理者顯示成不同的顏色。帶有綠色對(duì)號(hào)標(biāo)記的文件代表著由“我”本人在對(duì)其進(jìn)行修改,它在本地和遠(yuǎn)程站點(diǎn)顯示的顏色相同。當(dāng)其他的管理者看到這些文件時(shí)所顯示的對(duì)號(hào)標(biāo)記顏色則為紅色。也就是在提醒他們這些文件正在被“別人”修改。這時(shí)在本地與遠(yuǎn)程站點(diǎn)窗口中將同時(shí)顯示出我們剛剛在“Remote InfoCheck In/OutChecked Out Name”中所設(shè)置的檢驗(yàn)者用戶名。同時(shí)遠(yuǎn)程站點(diǎn)會(huì)自動(dòng)建立一些與被登記的文件名
28、相同,但后綴名為“.LCK”格式的文件(見圖2所示),它記錄著驗(yàn)證者的個(gè)人信息,代表著鎖定的遠(yuǎn)程文件,以防止在“我”修改這些文件時(shí)其他的管理者也去修改它們。它本身只是起到一個(gè)警示的作用,其他的管理者同樣可以硬性的修改遠(yuǎn)程文件,只要?jiǎng)h除它們就可以了。當(dāng)我們將文件修改完成,保存并上傳覆蓋遠(yuǎn)程文件后,這些后綴名為“.LCK”的文件就會(huì)自動(dòng)的被刪除。同樣的,再選擇一些文件按下登記,這時(shí)本地站點(diǎn)中的文件將被“鎖頭”鎖定(如圖3)。而且本地文件的文件屬性也隨之改變?yōu)橹蛔x文件,也就是說“我”沒有權(quán)限改變這些文件。但在遠(yuǎn)程站點(diǎn)中這些文件是自由的,不發(fā)生任何變化。登記的功能主要是用來預(yù)防我們?cè)诼?lián)機(jī)的狀態(tài)下修改一
29、些文件時(shí)錯(cuò)誤的將不需要修改的文件進(jìn)行了改動(dòng),因?yàn)楸镜睾瓦h(yuǎn)程的文件是同步更新的,那么只要我們?cè)谛薷奈募r(shí)將其他的不需修改的文件登記一下,就可以避免類似的錯(cuò)誤產(chǎn)生而使工作變的繁瑣。當(dāng)我們需要解開他們進(jìn)行修改時(shí)只要再次選中這些文件按下“Check In”即可,如果是單純的解鎖,只需在本地站點(diǎn)管理器中右鍵點(diǎn)選文件,在彈開的菜單列表中選擇“Turn Off Read Only(關(guān)閉只讀屬性)”文件便恢復(fù)自由了。 通過以上三步分析,相信您以對(duì)通過“登記檢查”進(jìn)行多用戶管理有了一個(gè)較為清晰的了解?,F(xiàn)在讓我們來總結(jié)一下它們的概念:Check In(登記):只針對(duì)本地站點(diǎn)文件運(yùn)做。避免對(duì)不需進(jìn)行修改的文件做任何
30、改動(dòng)。Check Out(驗(yàn)證):同步運(yùn)做于本地與遠(yuǎn)程站點(diǎn)。提示其他網(wǎng)站管理者某些文件正在修改中,請(qǐng)不要再做修改。第六章 用ASP和 DREAMWEAVER結(jié)合編寫網(wǎng)上圖書管理系統(tǒng)1圖書展示系統(tǒng)1default.asp頁(yè)面該頁(yè)面顯示了圖書展示的信息,在左上角有用戶登陸框,用于管理員的登陸,管理員的職能是可以增加和刪除圖書詳細(xì)見附錄清單:附錄12lorgin.asp該頁(yè)面用于管理員登陸的身份驗(yàn)證。詳細(xì)代碼見附錄清單:附錄23exit.asp該頁(yè)面用于管理員退出登陸,防止有人在管理員不在的時(shí)候擅自增刪圖書。詳細(xì)代碼見附錄清單:附錄34. admin.asp內(nèi)部網(wǎng)絡(luò)管理員登陸后的管理界面詳細(xì)代碼見附
31、錄清單:附錄45tushu1.asp用于添加圖書資料詳細(xì)代碼見附錄清單:附錄56tushu2.asp用于添加圖書的圖片資料:附錄67tushu3.asp將圖書加入數(shù)據(jù)庫(kù):附錄78tushu4.asp展示全部圖書:附錄89. tushu5.asp將圖片以二進(jìn)制的方式讀出:見附錄910.tushu6.asp顯示單獨(dú)的圖書詳細(xì)信息:見附錄1011.tushu7.asp對(duì)圖書進(jìn)行修改:見附錄1112.tushu8.asp將修改的圖書傳入數(shù)據(jù)庫(kù):見附錄1213.tushu9.asp刪除圖書2留言系統(tǒng)分為五個(gè)頁(yè)面1default.asp用來顯示所有留言,包括一個(gè)三列的表格用來顯示數(shù)據(jù)庫(kù)的記錄頁(yè)面如下 留言
32、者 內(nèi)容 電子信箱 操作同學(xué)甲 請(qǐng)問aaa資料還了嗎? jszj HYPERLINK http:/www/liuyan/delet.asp?id=1 刪除 HYPERLINK http:/www/liuyan/xiugai.asp?id=1 修改 Luo 謝謝 rwyc HYPERLINK http:/www/liuyan/delet.asp?id=2 刪除 HYPERLINK http:/www/liuyan/xiugai.asp?id=2 修改 asp程序用來定義鏈接。 全代碼為:查看留言我要留言 讀 者 留 言 系統(tǒng) 留言者 留言內(nèi)容 電子信箱 操作 a href=delet.asp?i
33、d=刪除 a href=xiugai.asp?id=修改 返回圖書主頁(yè)2.xiugai.asp 用INSERT INTO將要發(fā)布的留言添加進(jìn)數(shù)據(jù)庫(kù)。留言板 窗體頂部姓 名: e_mail: 內(nèi)容:窗體底部窗體頂部窗體底部代碼如下:留言板留言板 form action=xiugai2.asp?id= method=post name=liuyan 姓 名: input name=nickname value= size=19 e_mail: input name=e_mail type=text value= size=40 內(nèi)容: 3.liuyanfabu.aspOK!留言已成功上傳 HYPE
34、RLINK Default.asp 查看留言 代碼如下:留言板發(fā)布OK!留言已成功上傳 查看留言 4. xiugai2.asp用UPDATE語(yǔ)句將修改的留言加入數(shù)據(jù)庫(kù)。 HYPERLINK http:/www/liuyan/Default.asp OK!留言已成功修改 HYPERLINK Default.asp 查看留言 代碼為: 留言板發(fā)布OK!留言已成功修改 查看留言 5. delete.asp用DELETE語(yǔ)句刪除記錄。刪除成功 HYPERLINK http:/www/liuyan/Default.asp 返回 代碼如下:留言板發(fā)布刪除成功 返回 第七章 IIS服務(wù)器的安裝和配置Micr
35、osoft從IIS 4.0開始就提供了以下服務(wù):WWW、FTP、MTS、SMTP、NNTP、索引服務(wù)和證書服務(wù)。其中我們應(yīng)用最多的是WWW及FTP服務(wù)。下面就詳細(xì)介紹這兩種服務(wù)。以下以WINDOWS 2000為例。在配置這些服務(wù)前,你先要安裝IIS。IIS可以運(yùn)行在Microsoft的任意一種視窗操作系統(tǒng)上,不過要想真正的提供全部服務(wù),必須把IIS安裝在服務(wù)器的操作系統(tǒng)上(例如NT Server、Win2000 Server)。在Win9x或工作站上,IIS只充當(dāng)PWS(Peer Web Server),它不提供全部功能。在安裝IIS時(shí),注意Windows 2000與NT安裝的方式不相同。WW
36、W服務(wù)WWW是World Wide Web的簡(jiǎn)稱,它只是Internet的一個(gè)組件,它可以在網(wǎng)絡(luò)上實(shí)現(xiàn)圖形服務(wù)。使用它,可在你的站點(diǎn)上加入HTML文檔和超鏈接內(nèi)容,供客戶機(jī)和瀏覽器查閱。、打開IIS管理器。如下頁(yè)圖大家已經(jīng)注意到里面已經(jīng)存在了默認(rèn)的Web站點(diǎn)了(hunter是計(jì)算機(jī)名)。你既可以修改默認(rèn)的Web站點(diǎn)為你的新站點(diǎn),也可以重新建立一個(gè)新的Web站點(diǎn)。2、新建一個(gè)Web站點(diǎn)(1)單擊“操作”-“新建”-“Web站點(diǎn)”,就會(huì)出現(xiàn)“歡迎使用Web站點(diǎn)創(chuàng)建向?qū)А?,然后點(diǎn)擊“下一步”。(2)提示要輸入關(guān)于Web站點(diǎn)的說明,我這里用“IT海洋網(wǎng)”描述,除此之外,還要求輸入該Web站點(diǎn)的IP地址
37、,我這里設(shè)置為9,端口默認(rèn)為80,你也可以修改。點(diǎn)擊“下一步”。(3)要求輸入Web站點(diǎn)的主路徑,路徑一般有三種選擇,這里選擇本地硬盤g:itocean。點(diǎn)擊“下一步”。(4)點(diǎn)擊“允許匿名訪問此Web站點(diǎn)”,點(diǎn)擊“下一步”。這一步非常重要。(5)設(shè)置Web站點(diǎn)的訪問權(quán)限。如果你初次使用IIS,請(qǐng)使用默認(rèn)設(shè)置。到此為止,已經(jīng)成功地建立了一個(gè)新的Web站點(diǎn)。3、建立了一個(gè)新Web站點(diǎn)后,你還不能使用IIS,你還要配置它。查看“IT海洋網(wǎng)”屬性。修改它的Web頁(yè)啟動(dòng)時(shí)它會(huì)啟用的默認(rèn)文檔,一般的網(wǎng)頁(yè)都默認(rèn)為index.htm或index.html,請(qǐng)根據(jù)你自己的情況修改。在“文檔”欄目里。此時(shí)你就可
38、以在IE瀏覽器里輸入9或計(jì)算機(jī)名就可以瀏覽網(wǎng)頁(yè)了。(2)啟動(dòng)Web站點(diǎn)新建立了Web站點(diǎn)后,你會(huì)注意到這個(gè)Web站點(diǎn)還沒有啟動(dòng)。如圖:?jiǎn)?dòng)它,然后在IE地址欄里輸入9或者h(yuǎn)unter就可以瀏覽IT海洋網(wǎng)內(nèi)容了。到此一個(gè)小型Web服務(wù)器就配置完成了。當(dāng)然這些都是最基本的設(shè)置,你還可以配置一些關(guān)于性能和安全的設(shè)置,例如限制帶寬和哪些用戶可以訪問此Web頁(yè)等。第八章 結(jié)束語(yǔ)這是一個(gè)簡(jiǎn)單的應(yīng)用ASP和ADO技術(shù)所構(gòu)建的網(wǎng)上圖書管理系統(tǒng)。很多功能還很不完善,有待進(jìn)一步改善。參考文獻(xiàn):1:ASP.NET應(yīng)用開發(fā)百例 俞雷/周松建 著 清華大學(xué)出版社2:ASP.NET入門與實(shí)作 楊宗志 編著 科學(xué)出版社3:
39、ASP編程精選集錦 電腦編程技巧與維護(hù)雜志社 科學(xué)出版社4:Dreamweaver MX ASP網(wǎng)頁(yè)編程入門與范例制作 龍馬工作室 機(jī)械工業(yè)出版社 5:ASP3.0網(wǎng)站架設(shè)徹底研究與IIS4/5 陳會(huì)安 中國(guó)青年出版社6:基于Frontpage環(huán)境下的ASP應(yīng)用 機(jī)械工業(yè)出版社附錄資料:從 XML 生成可與 Ajax 共同使用的 JSON時(shí)下,非常流行使用 JavaScript 代碼為數(shù)據(jù)驅(qū)動(dòng)的 Web 應(yīng)用程序添加互動(dòng)性。若能將數(shù)據(jù)編碼成 JavaScript Object Notation(JSON)的格式,您就可以更輕松地通過 JavaScript 語(yǔ)言使用它。通過本文,發(fā)掘使用 XSL
40、T V2 從 XML 數(shù)據(jù)生成 JSON 的幾種不同方法。幾年前,許多開發(fā)人員很看好 XML、XSLT、Extensible HTML (XHTML)和其他一些基于標(biāo)記的語(yǔ)言?,F(xiàn)在,Asynchronous JavaScript and XML(AJAX)成了新的熱點(diǎn),人們又將目光轉(zhuǎn)向了使用 JavaScript 代碼的數(shù)據(jù)驅(qū)動(dòng)的富 Internet 應(yīng)用程序。但是開發(fā)人員是否已經(jīng)消除了 XML 和這一新技術(shù)之間的鴻溝呢?當(dāng)然,您可以在 Web 客戶機(jī)中使用 XML 解析器來讀取數(shù)據(jù),但這種做法會(huì)帶來兩個(gè)問題。第一,出于安全方面的原因,XML 數(shù)據(jù)只能從與此頁(yè)面相同的那個(gè)域中讀取。這雖然不是什
41、么大的限制因素,但它的確會(huì)引起部署方面的問題,還會(huì)阻礙 DHTML 小部件的創(chuàng)建。第二,讀取和解析 XML 會(huì)非常慢。另一種做法是讓服務(wù)器執(zhí)行 XML 的解析工作,方法是設(shè)置服務(wù)器,使之向?yàn)g覽器發(fā)送以 JavaScript 代碼或時(shí)下流行的 JavaScript Object Notation(JSON)編碼的數(shù)據(jù)。本文將展示如下三種使用 XSLT V2 語(yǔ)言和 Saxon XSLT V2 處理器從 XML 數(shù)據(jù)生成 JSON 的技巧: 簡(jiǎn)單編碼 通過函數(shù)調(diào)用加載數(shù)據(jù) 編碼對(duì)象 JSON 簡(jiǎn)介要學(xué)習(xí)如何將數(shù)據(jù)編碼成 JSON(它只是 JavaScript 的一個(gè)子集),最好的方法是從數(shù)據(jù)開始。
42、清單 1 顯示了書籍列表的一個(gè)示例 XML 數(shù)據(jù)集。清單 1. 基本的圖形化圖書館 Code Generation in Action JackHerrington Manning PHP Hacks JackHerrington OReilly Podcasting Hacks JackHerrington OReilly 這個(gè)數(shù)據(jù)集很簡(jiǎn)單,只包含三本書,每本書都具有惟一的 ID、書名、作者姓名及出版商的名字。(沒錯(cuò),我只選擇了我自己的書作為數(shù)據(jù)集,但能怨我嗎?這些書實(shí)在是不可多得的節(jié)日和生日禮物。)清單 2 顯示了這些數(shù)據(jù)在 JSON 中的效果。清單 2. JSON 中的示例數(shù)據(jù)集 id:
43、 1, title: Code Generation in Action, first: Jack, last: Herrington, publisher: Manning , . 方括號(hào) () 表明這是一個(gè)數(shù)組。大括號(hào) () 則表明這是一個(gè)散列表,該散列表由一組名稱和值對(duì)組成。在本例中,我創(chuàng)建了一個(gè)散列表的數(shù)組 用來存儲(chǔ)這類結(jié)構(gòu)式數(shù)據(jù)的一種常見方法。另外一點(diǎn)值得注意的是字符串是通過單引號(hào)或雙引號(hào)被編碼的。所以,如果我想用單引號(hào)編碼 OReilly,我就必須使用反斜杠對(duì)它進(jìn)行轉(zhuǎn)義:OReilly。 這讓我編寫的這個(gè) XSLT 樣式表更為有趣了一些。我并未在本例中放上任何日期,但您也可以通過如
44、下兩種方法來編碼日期。第一種方法是將日期作為字符串,該字符串必須在后面被解析。第二種方法是將日期作為一個(gè)對(duì)象,比如:publishdate: new Date( 2006, 6, 16, 17, 45, 0 )這段代碼將 publishdate 的值設(shè)置為6/16/2006 5:45:00 p.m.。簡(jiǎn)單編碼接下來我將陸續(xù)介紹 JSON 編碼的幾種技巧。第一種也是其中最簡(jiǎn)單的一種,此樣式表如 清單 3 所示。清單 3. simple.xsl 樣式表 var g_books = 1, id: ,name: ,first: ,last: ,publisher: ;要理解此樣式表,不妨先來看一下 清
45、單 4 所示的輸出。清單 4. simple.xsl 的輸出var g_books = id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher: OReilly;這里,我將名為 g_books 的變量設(shè)置
46、為一個(gè)包含三個(gè)散列表的數(shù)組,每個(gè)散列表包含關(guān)于該書的信息。再回過頭來看看 清單 3,您會(huì)發(fā)現(xiàn)第一個(gè)模板匹配 / 路徑,它也是首先應(yīng)用到輸入數(shù)據(jù)集的模板,該模板使用 for-each 循環(huán)來遍歷每本書。之后,它使用 標(biāo)記來將文本從該數(shù)據(jù)輸出到 JavaScript 輸出代碼。對(duì)于字符串,我使用名為 js:escape() 的定制函數(shù),它在模板之前定義。該函數(shù)使用一個(gè)正則表達(dá)式將一個(gè)單引號(hào)標(biāo)記更改為帶有反斜杠的單引號(hào)標(biāo)記。最后一個(gè)重要的元素是 標(biāo)記,它告知處理器要輸出的是文本而不是 XML。要檢驗(yàn)此過程是否可以正常工作,我加入了一個(gè) simple .html 文件,該文件引用我在 simple.j
47、s 保存的 XSL 樣式表的輸出。這個(gè) HTML 文件如 清單 5 所示。清單 5. simple.html 文件Simple JS loaderdocument.write( Found +g_books.length+ books );.html 文件使用 標(biāo)記簡(jiǎn)單地加載已編碼了的 JavaScript 代碼。之后,第二個(gè) 標(biāo)記將數(shù)組的長(zhǎng)度寫出到瀏覽器頁(yè)面,如 圖 1 所示。圖 1. simple.html 的輸出好了!數(shù)據(jù)文件包含三本書,相應(yīng)的 JavaScript 文件也包含三本書。它真的可以工作!通過函數(shù)加載上述第一個(gè)示例很簡(jiǎn)單,而且在大多數(shù)情況下可以發(fā)揮其作用,但它存在一些問題。第
48、一個(gè)問題是對(duì)于數(shù)據(jù)何時(shí)被加載沒有任何提示。如果數(shù)據(jù)是像頁(yè)面那樣被靜態(tài)加載的,這不成問題。但是如果頁(yè)面動(dòng)態(tài)創(chuàng)建了一個(gè) 標(biāo)記來按需加載數(shù)據(jù),那么就很有必要知道 標(biāo)記是何時(shí)完成的。實(shí)現(xiàn)此功能的最好的方法是讓編碼了的數(shù)據(jù)調(diào)用一個(gè) JavaScript 函數(shù),而不是只設(shè)置數(shù)據(jù)。這個(gè)概念很重要,所以我將花一些時(shí)間來介紹一下為什么您必須要通過動(dòng)態(tài)生成的 標(biāo)記來加載數(shù)據(jù)。頁(yè)面加載后,從服務(wù)器獲得數(shù)據(jù)是 Web 2.0 的核心功能。一種方法是使用 AJAX 機(jī)制通過到服務(wù)器的調(diào)用來加載 XML。然而,出于安全性的原因,AJAX 機(jī)制只限于從單一域獲取數(shù)據(jù)。這在大多數(shù)情況下都沒有問題,但有時(shí),您可能需要 Java
49、Script 代碼運(yùn)行在他人的頁(yè)面上(例如,Google Maps)。在這種情況下從服務(wù)器獲得數(shù)據(jù)的惟一方法是通過動(dòng)態(tài)加載 標(biāo)記。獲悉 標(biāo)記何時(shí)加載的最好的方法是讓 標(biāo)記返回的腳本調(diào)用函數(shù)而不是簡(jiǎn)單地加載數(shù)據(jù)。清單 6 顯示了在函數(shù)調(diào)用中編碼的數(shù)據(jù)。清單 6. Function1.jsAddBooks( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher
50、: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher: OReilly );清單 7 給出了相應(yīng)的 .html 文件。清單 7. Function1.htmlFunction 1 JS loadervar g_books = ;function AddBooks( books ) g_books = books; drawbooks( g_books );稍后將詳細(xì)介紹 drawbooks 函數(shù)。這里重要的是了解一下頁(yè)面如何定義 AddBooks 函數(shù),該函數(shù)隨后會(huì)由 function1.j
51、s 文件中的腳本調(diào)用。該 AddBooks 函數(shù)負(fù)責(zé)處理數(shù)據(jù)。而且被調(diào)用的 AddBooks 函數(shù)會(huì)向頁(yè)面指示 標(biāo)記被正確加載,并已加載完成。要?jiǎng)?chuàng)建 function1.js 文件,我只對(duì)樣式表稍微做了一點(diǎn)修改,如 清單 8 所示。清單 8. function1.xsl 樣式表AddBooks( 1, id: ,name: ,first: ,last: ,publisher: );這里,我調(diào)用了一個(gè)函數(shù),而不是簡(jiǎn)單地設(shè)置一個(gè)變量。這就是我所做的惟一更改?;氐巾?yè)面,我使用了 drawbooks 函數(shù)來構(gòu)建書的表格,這樣我就能夠確認(rèn)數(shù)據(jù)被正確編碼和正確顯示。此函數(shù)是在 drawbooks.js 內(nèi)
52、定義的,如 清單 9 所示。清單 9. Drawbooks.jsfunction drawbooks( books ) var elTable = document.createElement( table ); for( var b in books ) var elTR = elTable.insertRow( -1 ); var elTD1 = elTR.insertCell( -1 ); elTD1.appendChild( document.createTextNode( booksb.id ) ); var elTD2 = elTR.insertCell( -1 ); elTD2.
53、appendChild( document.createTextNode( ) ); var elTD3 = elTR.insertCell( -1 ); elTD3.appendChild( document.createTextNode( booksb.first ) ); var elTD4 = elTR.insertCell( -1 ); elTD4.appendChild( document.createTextNode( booksb.last ) ); var elTD5 = elTR.insertCell( -1 ); elTD5.appendChild
54、( document.createTextNode( booksb.publisher ) ); document.body.appendChild( elTable );這個(gè)簡(jiǎn)單函數(shù)創(chuàng)建了一個(gè)表格節(jié)點(diǎn),然后循環(huán)訪問書的列表并為每本書創(chuàng)建一行,為每個(gè)數(shù)據(jù)元素分配一個(gè)單元格。此頁(yè)面上的代碼的結(jié)果如 圖 2 所示。圖 2. function1.html 的結(jié)果現(xiàn)在我就可以查看一下此頁(yè)面的輸出并確認(rèn)來自原始 .xml 文件的一切均已被正確轉(zhuǎn)換成 JavaScript 代碼,且數(shù)據(jù)被發(fā)送到 AddData 函數(shù)并被正確添加到頁(yè)面。細(xì)化函數(shù)調(diào)用技術(shù)我很喜歡函數(shù)調(diào)用這一技術(shù),但我并不贊同將所有圖書數(shù)據(jù)都放
55、入一個(gè)塊中。另一種方式是為每條記錄采用一個(gè)調(diào)用,如 清單 10 所示。清單 10. Function2.jsAddBook( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning );AddBook( id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly );.對(duì) .html 頁(yè)面只需做少許修改,如 清單 11 所示。清單 11. Function2.html.var g_books = ;f
56、unction AddBook( book ) g_books.push( book ); .這里更改了 XSLT,以使函數(shù)調(diào)用駐留在 for-each 循環(huán)體內(nèi)。清單 12 顯示了更新后的樣式表。清單 12. function2.xsl.AddBook( id: ,name: ,first: ,last: ,publisher: );.對(duì)這個(gè)給定示例來說,這種更改看起來有些隨意。但如果原始的 XML 數(shù)據(jù)集有多種數(shù)據(jù)類型,要為每種類型分配一個(gè)單獨(dú)的函數(shù)調(diào)用會(huì)使 XSL 和頁(yè)面上的 JavaScript 代碼更為簡(jiǎn)單、更易于維護(hù)。編碼對(duì)象對(duì)小的頁(yè)面來講,使用 JavaScript 函數(shù)沒有問題。但對(duì)于大型項(xiàng)目,就需要使用 JavaScript 語(yǔ)言的一些面向?qū)ο筇匦?。是的,JavaScript 語(yǔ)言可以處理對(duì)象而且可以處理得很好。清單 13 顯示了如何創(chuàng)建帶有數(shù)據(jù)的對(duì)象。清單 13. Object1.jsg_books.push( new Book( id: 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 18737.5-2024紡織機(jī)械與附件經(jīng)軸第5部分:經(jīng)編機(jī)用分段整經(jīng)軸
- 幼兒交通安全國(guó)旗下精彩講話稿范文(5篇)
- 感謝老師學(xué)生演講稿
- 小孩百日宴父母感謝致辭6篇
- 公眾平臺(tái)相關(guān)知識(shí)
- 銀星養(yǎng)腦片治療彌漫性軸索損傷瘀阻腦絡(luò)證的臨床研究
- 國(guó)家知識(shí)產(chǎn)權(quán)政策
- 電廠鍋爐補(bǔ)給水和凝結(jié)水處理工藝設(shè)計(jì)
- 初級(jí)會(huì)計(jì)經(jīng)濟(jì)法基礎(chǔ)-初級(jí)會(huì)計(jì)《經(jīng)濟(jì)法基礎(chǔ)》模擬試卷421
- 智研咨詢發(fā)布-2024年中國(guó)光儲(chǔ)一體化行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 安徽省蚌埠市2025屆高三上學(xué)期第一次教學(xué)質(zhì)量檢查考試(1月)數(shù)學(xué)試題(蚌埠一模)(含答案)
- 2025年江蘇太倉(cāng)水務(wù)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 遼寧省沈陽(yáng)名校2025屆高三第一次模擬考試英語(yǔ)試卷含解析
- 《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題知識(shí)培訓(xùn)
- 2024年新疆區(qū)公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 學(xué)校物業(yè)服務(wù)合同范本專業(yè)版
- 北師大版三年級(jí)數(shù)學(xué)(上冊(cè))看圖列式計(jì)算(完整版)
- 2024年云南省中考英語(yǔ)題庫(kù)【歷年真題+章節(jié)題庫(kù)+模擬試題】
- 麻醉藥品、精神藥品月檢查記錄表
- 浙江省寧波市海曙區(qū)2022學(xué)年第一學(xué)期九年級(jí)期末測(cè)試科學(xué)試題卷(含答案和答題卡)
- 為了自由呼吸的教育
評(píng)論
0/150
提交評(píng)論