Web數(shù)據庫技術課件_第1頁
Web數(shù)據庫技術課件_第2頁
Web數(shù)據庫技術課件_第3頁
Web數(shù)據庫技術課件_第4頁
Web數(shù)據庫技術課件_第5頁
已閱讀5頁,還剩716頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Web數(shù)據庫概述

1.1Web概述1.1.1Web的歷史

Web的產生是與互聯(lián)網的發(fā)展密切相關的。1965年TedNelson首創(chuàng)了“超文本”術語,1967年把實現(xiàn)分布式的計劃命名為Xanadu。但該項目于1987年才算完成,只設計出“一個運行于SUN工作站上的粗糙的工具”。1988年,Autodesk公司買下了Xanadu,Nelson繼續(xù)研究該項目。

直到1988年,才設計出1981年的目標。歐洲粒子物理實驗室即CERN的TimBerners-Lee受到Nelson的影響提出一項計劃,目的是使科學家們很容易查閱同行的文章,進一步演化成科學家能在服務器上創(chuàng)建文檔。該項目從1990年10月開始到1990年12月完成,結果出版了命令行方式瀏覽器和NeXTStep瀏覽器。該瀏覽器可用于瀏覽服務器超文本文件及CERN的USENET。

1992年7月,WWW在CERN內部得到了廣泛的使用。到了1993年1月全世界共有30臺Web服務器,并有各種瀏覽器版本發(fā)行,包括用于Macintosh和XWindows的客戶程序。1993年伊利諾斯大學Urbana-Champaign分校的國家超級計算應用中心NCSA(NationalCenterforSupercomputingApplications)發(fā)行了一個新的瀏覽器軟件。從此,WWW初具規(guī)模。

CERN的Tim和他的小組解決了文檔的共享和鏈接問題,但是主要基于NeXT服務器及工作站。由JoeHardin領導的NCSA系統(tǒng)開發(fā)小組開始一項旨在開發(fā)一個不僅能處理Tim描述的超文本,而且還能支持其它的多種協(xié)議的WWW瀏覽器。于是在1993年2月發(fā)行了X-windows版Mosaic1.0。

隨后,Mosaic瀏覽器版本逐漸增加采用了MIME協(xié)議在瀏覽器中能直接瀏覽圖形甚至聲音。這時Web基本成熟,使WWW在Internet中空前火爆,也如此產生了瀏覽器間的競爭。

NCSA把服務器技術轉讓給了一家名為Spyglass的商業(yè)轉售商,并把客戶程序交給經銷商出售,隨后的一段時間內出現(xiàn)了幾十種瀏覽器。1994年3月MarcAndreessen等第一批人員離開NCSA與硅谷的SiliconGraphics公司的JimClark成立了Mosaic通訊公司(1994年10月更名為Netscape通訊公司),并雇傭了許多Mosaic、WWW、Lynx等的設計者,很快發(fā)布了第一代瀏覽器產品,實現(xiàn)了許多HTML正在討論的特性。

1.1.2Web及其工作模式

Web即萬維網,就是通過使用通訊設備和線路,將處在不同地理位置、操作上相對獨立的多個計算機連接起來,再配置一定的系統(tǒng)軟件和應用軟件,在這些計算機上實現(xiàn)軟硬件的資源共享和信息傳遞,由此而構成的計算機網絡。

互聯(lián)網是由全球眾多的計算機局域網互相連接組成的一個超大規(guī)模的網絡系統(tǒng),在這個系統(tǒng)中運行著多種應用系統(tǒng),如上網使用的網頁瀏覽系統(tǒng)——WWW、上傳與下載用的文件傳輸系統(tǒng)——FTP、收發(fā)電子郵件所使用的電子郵件系統(tǒng)——E-Mail等?;ヂ?lián)網中運行的每一種應用系統(tǒng)都是由互聯(lián)網中相應的服務器系統(tǒng)、客戶機系統(tǒng)構成,也就是說互聯(lián)網從物理連接來看是由眾多的計算機組成,而從邏輯上看是由多個功能子網組成。

前面所提到的幾個應用系統(tǒng)即是一些常見的子網,其中的WWW由聯(lián)入互聯(lián)網的Web服務器和瀏覽頁面的客戶機構成,這種工作模式通常稱為B/S模式(Browser/Server模式)。還有一種模式為C/S模式(Client/Server模式),它是通過在服務器和客戶機上分別安裝相應的程序,從而達到使客戶機能夠與服務器進行通訊的目的??蛻魴C/服務器的概念來源于日常生活中常見的一種工作方式。例如,在一個大餐館中,顧客向服務員點菜,服務員把顧客的要求通知給廚房的廚師,廚師按顧客的要求做好菜讓服務員端給顧客,這就是一種餐館的C/S工作方式。餐館中的服務員和廚師進行了分工:服務員直接面向顧客,了解顧客的要求并向顧客提供最終服務;廚師看不到食客,但具體運作食客提交的任務。

如果把餐館看成一個系統(tǒng),則服務員與廚師的分工就是一種系統(tǒng)的分工,C/S工作方式就是一種系統(tǒng)分工、協(xié)同的工作方式。招待員與廚師的分工關系是一種系統(tǒng)的結構關系,所以C/S實際上也是一種系統(tǒng)結構模式。

在瀏覽網頁時,服務器上的WWW服務允許你用鼠標點擊“超級鏈接”(簡言之,就是使鼠標光標變成手形的文本詞句或圖形),每次你點擊一項,WWW程序就執(zhí)行所要求的任務,一直到你的需要得到滿足。

在這一過程中,要涉及兩個不同的程序:一個程序安裝在客戶機上,它執(zhí)行你的鼠標點擊,發(fā)出http請求,接到響應后,立即顯示鏈接的網頁內容,確保你的要求得到執(zhí)行,這個程序叫做WWW客戶機程序,比如上網所使用的瀏覽器(IE或Netscape);另一個程序在服務器上,如IIS或“阿帕奇”(Apache)Web服務器軟件,它對WWW客戶機所要求的一切進行滿足,也就是接到http請求后,發(fā)出響應。

1.2Web數(shù)據庫

1.2.1Web數(shù)據庫的概念數(shù)據庫是指按照一定的結構和規(guī)則組織起來的相關數(shù)據的集合,是存放數(shù)據的“倉庫”,據此將網絡數(shù)據庫定義為以后臺數(shù)據庫為基礎的,加上一定的前臺程序,通過瀏覽器完成數(shù)據存儲、查詢等操作的系統(tǒng)。

數(shù)據庫技術是計算機處理與存儲數(shù)據的最有效、最成功的技術,而計算機網絡的特點是資源共享,因此數(shù)據與資源共享這兩種技術的結合即成為今天廣泛應用的Web數(shù)據庫(也叫網絡數(shù)據庫)。一個Web數(shù)據庫就是用戶利用瀏覽器作為輸入接口,輸入所需要的數(shù)據,瀏覽器將這些數(shù)據傳送給網站,而網站再對這些數(shù)據進行處理,例如,將數(shù)據存入后臺數(shù)據庫,或者對后臺數(shù)據庫進行查詢操作等,最后網站將操作結果傳回給瀏覽器,通過瀏覽器將結果告知用戶。網站上的網站上的后臺數(shù)據庫就是Web數(shù)據庫。

通常,Web數(shù)據庫的環(huán)境由硬件元素和軟件元素組成。硬件元素包括Web服務器、客戶機、數(shù)據庫服務器、網絡。軟件元素包括客戶端必須有能夠解釋執(zhí)行HTML代碼的瀏覽器(如IE,Netscape等);在Web服務器中,必須具有能執(zhí)行可以自動生成HTML代碼的程序的功能,如ASP,CGI等;具有能自動完成數(shù)據操作指令的數(shù)據庫系統(tǒng),如Access,SQLServer等。

1.2.2WWW網絡環(huán)境下Web數(shù)據庫由于Web的易用性、實用性,它很快占據了主導地位,已經成為使用最為廣泛、最有前途、最有魅力的信息傳播技術。不過,Web服務只是提供了Internet上信息交互的平臺。隨著Internet技術的興起與發(fā)展和Web技術的蓬勃發(fā)展,人們已不滿足于只在Web瀏覽器上獲取靜態(tài)的信息,人們需要通過它發(fā)表意見、查詢數(shù)據,甚至進行網上購物,這就迫切需要實現(xiàn)真正的Internet.Web與數(shù)據庫的互連,將人、企業(yè)、社會與Internet融為一體。Web技術發(fā)展到今天,人們已經可以把數(shù)據庫技術引入到Web系統(tǒng)中。數(shù)據庫技術發(fā)展比較成熟,特別適用于對大量的數(shù)據進行組織管理,Web技術具有較佳的信息發(fā)布途徑,這兩種技術的天然互補性決定相互融合是其發(fā)展的必然趨勢。將Web技術與數(shù)據庫技術融合在一起,使數(shù)據庫系統(tǒng)成為Web的重要有機組成部分,不僅可以把二者的所有優(yōu)點集中在一起,而且能夠充分利用大量已有的數(shù)據庫信息資源,使用戶在Web瀏覽器上方便地檢索和瀏覽數(shù)據庫的內容,這對許多軟件開發(fā)者來說具有極大的吸引力。因此,將Web技術與數(shù)據庫相結合,開發(fā)動態(tài)的Web數(shù)據庫應用已成為當今Web技術研究的熱點。關系數(shù)據庫最初設計為基于主機/終端方式的大型機上的應用,其應用范圍較為有限,隨著客戶機/服務器方式的流行和應用向客戶機方向的分解,關系數(shù)據庫又經歷了客戶機/服務器時代,并獲得了極大的發(fā)展。

隨著Internet應用的普及,由于Internet上信息資源的復雜性和不規(guī)范性,關系數(shù)據庫初期在開發(fā)各種網上應用時顯得力不從心,表現(xiàn)在無法管理各種網上的復雜的文檔型和多媒體型數(shù)據資源,后來關系數(shù)據庫對于這些需求作出了一些適應性調整,如增加數(shù)據庫的面向對象成分以增加處理多種復雜數(shù)據類型的能力,增加各種中間件(主要包括CGI、ISAPI、ODBC、JDBC、ASP等技術)以擴展基于Internet的應用能力,通過應用服務器解釋執(zhí)行各種HTML中嵌入腳本來解決Internet應用中數(shù)據庫數(shù)據的顯示、維護、輸出以及到HTML的格式轉換等。

此時關系數(shù)據庫的基于Internet應用的模式典型表現(xiàn)為一種三層或四層的多層結構。在這種多層結構體系下,關系數(shù)據庫解決了數(shù)據庫的Internet應用的方法問題,使得基于關系數(shù)據庫能夠開發(fā)各種網上數(shù)據庫數(shù)據的發(fā)布、檢索、維護、數(shù)據管理等一般性應用。但是關系數(shù)據庫從設計之初并沒有也不可能考慮到以http為基礎、HTML為文件格式的互聯(lián)網的需求,只是在互聯(lián)網出現(xiàn)后才作出相應的調整。

同時,關系數(shù)據庫的基于中間件的解決方案又給Internet應用帶來了新的網絡瓶頸,應用服務器端由于與數(shù)據庫頻繁交互,因其本身的效率和數(shù)據庫檢索的效率造成Internet應用在應用服務器端的阻塞。

雖然關系型數(shù)據庫具有完備的理論基礎、簡潔的數(shù)據模型、透明的查詢語言和方便的操作方法等優(yōu)點,但是由于它本身并沒有針對網絡的特點和要求進行設計,因此并不適用于網絡環(huán)境,我們應該研究開發(fā)新的數(shù)據庫技術,

從開始就考慮到Web的信息和結構特點,使數(shù)據庫真正能與Web融合為一體,充分利用二者的特點,建立合理的Web數(shù)據庫。

那么,為什么使用網絡數(shù)據庫呢?簡言之,因為人們在網絡數(shù)據庫中可以找到他們需要的東西,包括期刊查詢,檢查銀行帳戶、股票價格、利率、實現(xiàn)電子商務等等。這些功能是用HTML編寫的網頁是無法做到的,因為用HTML無法完成交互功能,要做到這些,必須使用網絡數(shù)據庫技術。

Web數(shù)據庫可以實現(xiàn)方便廉價的資源共享。數(shù)據信息是資源的主體,因而網絡數(shù)據庫技術自然而然成為互聯(lián)網的核心技術。

1.2.3幾種常用Web數(shù)據庫的比較

當前比較流行的Web數(shù)據庫主要有:SQLServer、MySQL和Oracle。這3種數(shù)據庫適應性強,性能優(yōu)異,容易使用,在國內得到了廣泛的應用

1.SQLServer

是微軟公司從Sysbase獲得基本部件的使用許可后開發(fā)出的一種關系型數(shù)據庫。目前最新的版本是SQLServer2000,但SQLServer7.0仍在廣泛使用。

由于均出自微軟之手,使得SQLServer和Windows、IIS等產品有著天然的聯(lián)系。事實上以Windows為核心的幾乎所有微軟的軟件產品都采用了一致的開發(fā)策略,包括界面技術、面向對象技術、組件技術等,這樣在微軟的軟件中很多都可以相互調用,而且配合得非常密切。因此如果用戶使用的是Windows操作系統(tǒng),那么IIS、SQLServer就應該是最佳的選擇。

2.MySQL是當今Unix或Linux類服務器上廣泛使用的Web數(shù)據庫系統(tǒng)。它于1996年誕生于瑞典的TcX公司,支持大部分的操作系統(tǒng)平臺。MySQL的設計思想快捷、高效、實用。雖然它對ANSISQL標準的支持并不完善,但支持所有常用的內容,完全可以勝任一般Web數(shù)據庫的工作。由于它不支持事務處理,MySQL的速度比一些商業(yè)數(shù)據庫快2~3倍,并且MySQL還針對很多操作平臺做了優(yōu)化,完全支持多CPU系統(tǒng)的多線程方式。在編程方面,MySQL也提供了C、C++、Java、Perl、Python和TCL等API接口,而且有MyODBC接口,任何可以使用ODBC接口的語言都可以使用它。更重要的是,MySQL的源代碼是公開的,可以免費使用,這就使得MySQL成為許多中小型網站、個人網站追捧的明星。3.Oracle是Oracle公司開發(fā)出的一種面向網絡計算機并支持對象關系模型的數(shù)據庫產品。它是以高級結構化查詢語言為基礎的大型關系數(shù)據庫,是目前最

流行的客戶/服務器體系機構的數(shù)據庫之一。目前廣泛使用的版本是Oracle8i,它之所以備受用戶喜愛是因為它具有以下突出的特點:(1)支持大型數(shù)據庫、多用戶和高性能的事務處理。Oracle支持最大數(shù)據庫,其大小可達到幾百千兆,可充分利用硬件設備;支持大量用戶同時對數(shù)據庫執(zhí)行各種數(shù)據操作,并使數(shù)據征用最小,保證數(shù)據一致性;系統(tǒng)維護具有很高的性能,Oracle每天可連續(xù)24小時工作,

正常的系統(tǒng)操作(后備或個別系統(tǒng)故障)不會中斷數(shù)據庫的應用;可在數(shù)據庫級或子數(shù)據庫級上控制數(shù)據的可用性。(2)Oracle遵守數(shù)據庫存取語言、操作系統(tǒng)、用戶接口、和網絡通訊協(xié)議的工業(yè)標準,所以它是一個開放系統(tǒng),保護了用戶的投資。美國標準化和技術研究所(NIST)對OracleServer進行過檢驗,完全與ANSI/ISOSQL89標準相兼容(3)實施安全性控制和完整性控制。Oracle為限制系統(tǒng)對各監(jiān)控數(shù)據庫存取提供可靠的安全性,并為可接受的數(shù)據指定標準,保證數(shù)據的完整性。

(4)支持分布式數(shù)據庫和分布式處理。Oracle為了充分利用計算機系統(tǒng)和網絡,允許將處理分為數(shù)據庫服務器和客戶應用程序處理,所有共享的數(shù)據管理由數(shù)據庫管理系統(tǒng)的計算機處理,而運行數(shù)據庫應用的工作站集中于解釋和顯示數(shù)據。通過網絡連接環(huán)境,Oracle將存放在多臺計算機上的數(shù)據組合成一個邏輯數(shù)據庫,可被全部網絡用戶存取。分布式系統(tǒng)像集中式數(shù)據庫一樣具有透明性和數(shù)據一致性。

上面介紹的3種數(shù)據庫產品是目前最常用的3種大型關系數(shù)據庫系統(tǒng),它們雖然在體系結構和操作方法上有許多相似的地方,但是在應用環(huán)境上還是各有側重的。一個應用系統(tǒng)在選用數(shù)據庫時,性能和價格時首先要考慮的兩個因素,表1-1列出了這3種數(shù)據庫在性能和價格上的對比情況,在使用時不同的系統(tǒng)應針對實際情況采用合適的方案。

表1-13種數(shù)據庫的性價比

數(shù)據庫系統(tǒng)MySQLSQLServerOracle數(shù)據庫費用全免費費用按連接計算,費用較高按計算機主頻計算,費用較高操作系統(tǒng)及費用Linux免費NT,價格較高Linux全免費;windowsNT、Solaris價格較高速度較快快最快容量較大較大大備份、恢復較好好最好從用戶的技術水平以及國內軟件應用的現(xiàn)狀來看,SQLSever應該是一個較好的選擇,尤其是對初學者而言。1.2.4Web服務器腳本

Web頁面與數(shù)據庫地連接是Web數(shù)據庫的基本要求。目前基于Web數(shù)據庫地連接方案主要有兩種類型:服務器端和客戶端方案。服務器端方案實現(xiàn)技術有CGI、SAPI、ASP、PHP等;客戶端方案實現(xiàn)技術有JDBC(JavaDatabaseConnectivity)、DHTML(DynamicHTML)等。其中ASP是微軟開發(fā)的腳本語言技術,它嵌入在IIS中,因此ASP也就順理成章地成為大部分Windows用戶首選的腳本語言。

1.3腳本程序與數(shù)據庫的接口

在腳本程序中連接數(shù)據庫一般都需要相應的接口來完成。連接數(shù)據庫的常用方法有:ODBC、DAO、RDO及ADO等。

(1)ODBC ODBC(OpenDatabaseConnectivity,即開發(fā)式數(shù)據庫連接)是微軟開發(fā)的一套統(tǒng)一的程序接口。通過這個接口可以存取不同廠商生產的數(shù)據庫。

經過多年的改進,它已成為存取服務數(shù)據庫的標準。事實上,ODBC技術成了后來DAO、RDO及ADO等數(shù)據庫訪問技術的基礎。(2)DAODAO(DataAccessObjects,即服務器訪問對象)是微軟公司開發(fā)的一套主要應用程序及開發(fā)工具,用它可以訪問數(shù)據庫的標準對象,如Access、VB、Excel、Word等。(3)RDORDO(RemoteDataObjects,即遠程數(shù)據庫訪問對象)是微軟公司為增強DAO的功能而推出的新產品。

該產品強化了SQLServer的訪問功能,提高了它的執(zhí)行效率。(4)ADOADO(ActivteXDataObjects,即ActivteX數(shù)據對象)是微軟在Internet領域采取的新舉措。它本身并不是一項新技術,從對象結構的角度來看,它比DAO提供的對象更少;從存取SQL服務器的角度來看,它提供的功能也不如RDO。但它汲取了DAO和RDO最精華的部分,成為一個更適合于Internet的小而精的對象群。因此,ADO實際上是腳本程序連接數(shù)據庫最好的選擇。

1.4應用開發(fā)平臺由于Web應用開發(fā)的獨特性,應用開發(fā)平臺成為眾多廠商的關注焦點。目前市場上存在很多的Web應用標準、集成開發(fā)環(huán)境。流行的主要是ASP、PHP、JSP三種。(1)ASP

ASP(ActivexServerPages)是由微軟創(chuàng)建的Web應用開發(fā)標準,ASP服務器已經包含在IIS服務器中,

ASP服務器將

Web請求轉入解釋器中,在解釋器中將所有

ASP中的腳本進行分析,然后執(zhí)行,同時可以創(chuàng)建COM對象以完成更多的功能,ASP中的腳本是Vbscript。優(yōu)點:安裝配置方便,開發(fā)簡單易學;開發(fā)工具功能強大。不足:ASP使用了組件因而將導致大量的安全問題;無法實現(xiàn)跨平臺,只能應用于WindowsNT/2000。建議采用MS架構的網站采用ASP應用開發(fā)平臺(IIS+VisualInterdev)。(2)PHPPHP由于其良好的性能及免費的特點,是目前互聯(lián)網中應用非常流行的一種應用開發(fā)平臺。優(yōu)點:簡單易學、跨平臺、有良好數(shù)據庫交換能力的開發(fā)語言;與Apache及其擴展庫緊密結合;良好的安全性。不足:安裝配置復雜;缺少企業(yè)級的支持;作為自由軟件,缺乏正規(guī)的商業(yè)支持;無法實現(xiàn)商品化的商業(yè)開發(fā)。建議基于Unix類平臺的應用采用Apache+Php+PHPEd。(3)JSP優(yōu)點:可移植性好,支持多種平臺;強大的可伸縮性;多樣化與強大的工具支持。不足:安裝配置管理較為復雜;運行速度較慢;建議開發(fā)大型應用系統(tǒng)采用JSP本書重點講解ASP的開發(fā)技術,其它開發(fā)技術請參考有關書籍。

本章主要介紹了Web數(shù)據庫的概念,分析與比較了幾種常用的Web數(shù)據庫的功能及特點,對腳本程序與數(shù)據庫的接口技術也進行了簡要的介紹。通過本章的學習,讀者對Web數(shù)據庫有了初步的了解。

題1.簡述使用Web數(shù)據庫的原因。2.試對SQLServer、MySQL和Oracle三種數(shù)據庫進行比較。3.腳本程序與數(shù)據庫連接的常用方法有幾種?各自的特點是什么?答

1.用HTML無法完成交互功能,實現(xiàn)信息的查詢,必須有網絡數(shù)據庫做支持,才能使人們在網絡數(shù)據庫中可以找到他們需要的東西,包括期刊查詢,檢查銀行帳戶、股票價格、利率、實現(xiàn)電子商務等等。Web數(shù)據庫可以實現(xiàn)方便廉價的資源共享。2.見表1-1。3.要點:(1)ASP由微軟創(chuàng)建的Web應用開發(fā)標準,包含在IIS服務器中,ASP服務器將Web請求轉入解釋器中,在解釋器中將所有ASP的腳本進行分析,然后執(zhí)行,同時可以創(chuàng)建COM對象以完成更多的功能,ASP中的腳本是Vbscript。優(yōu)點:安裝配置方便,開發(fā)簡單易學;開發(fā)工具功能強大。不足:ASP使用了組件因而將導致大量的安全問題;無法實現(xiàn)跨平臺,只能應用于WindowsNT/2000。建議采用微軟架構的網站采用ASP應用開發(fā)平臺(IIS+VisualInterdev)。(2)PHPPHP由于其良好的性能及免費的特點,是目前互聯(lián)網中應用非常流行的一種應用開發(fā)平臺。優(yōu)點:簡單易學、跨平臺、有良好數(shù)據庫交換能力的開發(fā)語言;與Apache及其擴展庫緊密結合;良好的安全性。不足:安裝配置復雜;缺少企業(yè)級的支持;作為自由軟件,缺乏正規(guī)的商業(yè)支持;無法實現(xiàn)商品化的商業(yè)開發(fā)。建議基于Unix類平臺的應用采用Apache+Php+PHPEd。(3)JSP優(yōu)點:可移植性好,支持多種平臺;強大的可伸縮性;多樣化與強大的工具支持。不足:安裝配置管理較為復雜;運行速度較慢;建議開發(fā)大型應用系統(tǒng)采用JSP。

ASP及其運行環(huán)境2.1ASP概述2.1.1動態(tài)Web技術

隨著網絡技術的發(fā)展,互聯(lián)網帶給世界的已經不僅僅是新的信息傳播途徑,這種訪問信息的方法已經開創(chuàng)了新的產業(yè)。Web平臺是作為在Internet上共享文件的平臺而發(fā)展起來的,同時,Web技術在企業(yè)內部的Intranet和外部的商業(yè)Extranet應用中越來越成熟。如何在WWW網頁上開發(fā)企業(yè)應用程序并與企業(yè)數(shù)據庫鏈接一直是Intranet應用開發(fā)的重點和難點,動態(tài)Web技術和ASP技術就是在這種要求下產生的。動態(tài)Web技術的應用有多種類型。第一種類型是與使用者直接交互的頁面,它的一個應用是用傳統(tǒng)的電子表格的方法為使用者統(tǒng)計幾種數(shù)據表項的和。另一種應用是一個Web頁面,它對用戶作出響應并給出迅速的反饋,這種形式常被應用于網絡數(shù)據庫的訪問。通常,用一個網絡數(shù)據庫存儲用戶可訪問的信息,由動態(tài)Web頁提供對數(shù)據庫的訪問界面,用戶通過Web瀏覽器就可以進行數(shù)據庫的各種操作。根據用戶請求生成動態(tài)主頁的傳統(tǒng)方法有CGI(即通用網關接口)、ISAP(即微軟Internet服務器應用編程接口)等。CGI的原理是根據瀏覽器端的HTTP請求激活響應進程,每一個請求對應一個進程。當同時有很多請求時,程序擠占系統(tǒng)資源,造成效率低下;ISAPI針對這一缺點進行了改進,利用DLL(即動態(tài)鏈接庫)技術,以線程代替進程,提高性能和速度,但需考慮線程的同步問題。另外,無論是CGI程序還是ISAPI程序都基本上是獨立于HTML的,完全用另一種語言開發(fā),工作量大,與HTML結合得不夠緊密。這兩種技術和另一普遍使用的開發(fā)動態(tài)網頁的技術Java都還存在著一個問題,那就是開發(fā)困難,程序的開發(fā)和HTML寫作是兩個完全不同的過程,需要專門的程序員開發(fā)。為了滿足對動態(tài)網頁開發(fā)的需要,微軟公司于1996年11月推出的Web應用程序開發(fā)技術——ASP(ActiveServerPages,即活動服務器頁面)。它實際上是對IIS2.0的IDC(即Internet數(shù)據庫連接器)技術的升級,不同的是它將VBScript腳本語言嵌入了HTML,完全具備開發(fā)復雜應用的語言環(huán)境。微軟聲稱設計出了一個完美的Active平臺,在微軟的文件中把ASP描述為:“一個服務器的腳本環(huán)境,在這里可以生成和運行動態(tài)的、交互的、高性能的Web服務器應用程序”。2.1.2什么是ASP

從描述中可以看出,ASP既不是一種語言,也不是一種開發(fā)工具,而是一種技術框架,它能夠把HTML、腳本、組件等有機地組合在一起,形成一個能夠在服務器上運行的應用程序,并把按用戶要求專門制作的標準HTML頁面回送給客戶端瀏覽器。其主要功是為生成動態(tài)的交互式的Web服務器應用程序提供一種功能強大的方法或技術。

ASP是一個Web服務器端開發(fā)環(huán)境,屬于ActiveX技術中的服務器端技術,與在客戶端實現(xiàn)動態(tài)主頁的技術如Javaapplet、ActiveXControl、VBScript、JavaScript等所不同的是,ASP中的命令腳本語句都是在服務器中解釋執(zhí)行,執(zhí)行后將結果轉化成動態(tài)的Web頁面,并把標準的HTML格式的數(shù)據流送到瀏覽器。另外,ASP也具有很好的安全性。同時,由于它在服務器端執(zhí)行,所以不必擔心別人是否能下載程序而竊取編程邏輯,訪問者除了瀏覽器上的HTML界面,什么也看不見。保護了開發(fā)者的利益。另外,ASP還提供了豐富的組件和對象,可以使用第三方控件來完成復雜的功能。ASP通過擴展名為.asp的文件來實現(xiàn)。一個ASP程序相當于一個可執(zhí)行文件,必須放在Web服務器上有可執(zhí)行權限的目錄下。當瀏覽器向Web服務器請求調用ASP文件時,就啟動了ASP,Web服務器開始調用ASP,將被請求的.asp文件從頭讀到尾,執(zhí)行每一個命令,然后動態(tài)生成一個HTML頁面并送回到瀏覽器。通常,一個ASP有如下四個重要特征:(1)可以包括服務端腳本。通過腳本的使用,可以使網站“動”起來,成為真正的和用戶交互的網站。(2)提供了一些內建對象。利用對象,通過簡單的編程就能獲得功能強大的腳本。(3)可以用另外的組件來擴展。在ASP中,本身就提供了相當數(shù)量的標準服務端ActiveX組件,這些組件提供如依據瀏覽器進行不同顯示以及在瀏覽器內包含計數(shù)器的功能??梢暂p松地使用這些組件來完成很復雜的工作。另外還可以使用各種第三方控件來增強網頁的功能。(4)ASP可以對諸如SQLServer這樣的數(shù)據庫進行訪問。利用一些特定的對象集合,如ActiveDataObiect(ADO),就可以在ASP中使用SQL語言來對數(shù)據庫進行操作??偠灾?,ASP是網頁開發(fā)技術中最容易學習、靈活性最大的開發(fā)工具之一,更重要的是ASP擁有非常大的可擴充性。歸納起來,ASP具有以下特點:(1)ASP可以和HTML或其它腳本語言(VBScript與JavaScript)相互嵌套。(2)無須編譯,容易編寫,在服務器端直接執(zhí)行。(3)ASP是一種在Web服務器端運行的腳本語言,程序代碼完全保密。(4)ASP以對象為基礎,可以使用ActiveX控件繼續(xù)擴充其功能。(5)ASP內置ADO組件,可以輕松地存取各種數(shù)據庫,縮短程序的開發(fā)時間。(6)ASP可以將運行結果以HTML的格式傳送到客戶端瀏覽器,適用于各種瀏覽器。ASP由于其簡單實用而受到網站開發(fā)人員的喜愛,再加上微軟的強有力支持,可以說是制作站點比較流行的語言之一。它借助微軟的Com+技術,幾乎可以實現(xiàn)在CGI能夠實現(xiàn)的所有功能,具有相當?shù)母偁幜?。但由于眾所周知的原因,ASP只能工作于微軟自己的操作系統(tǒng)平臺和服務器軟件之下,因而決定了ASP應用的局限性。2.2ASP的工作方式上一節(jié)已經簡單敘述了ASP的工作方式,即利用ASP可以根據用戶要求在Web服務器上建立動態(tài)網頁,與IIS所支持的靜態(tài)網頁有著明顯的區(qū)別,其工作步驟描述如下:

(1)用戶在瀏覽器的地址欄添入ASP文件名稱,回車后即觸發(fā)這個ASP要求。

(2)瀏覽器將這個ASP的請求發(fā)送給IIS。(3)Web服務器接受這個請求并進行分析,調入正確的ASP文件。(4)Web服務器將這個文件發(fā)送到一個叫做asp.dll的特定文件中。(5)Web服務器將被請求的.asp文件從頭讀到尾,執(zhí)行每一個命令,并生成相應的動態(tài)網頁。(6)回送這個動態(tài)網頁,由用戶的瀏覽器解釋執(zhí)行并顯示出來。2.3Web服務器的安裝及配置

由于目前多采用Windows2000操作系統(tǒng),故此處以Windows2000為例說明Web服務器的安裝及配置,其它操作系統(tǒng)的安裝將在本書最后進行簡要介紹。在安裝過程中,需要注意的是,采用默認方式安裝Windows2000時,系統(tǒng)已經安裝了Web服務及其它服務(出于系統(tǒng)安全性的考慮,在此作者建議盡量不要采用默認安裝方式,并且只安裝你將要使用的那些程序)。

如果尚未安裝,則可使用“控制面板”中的“添加/刪除程序”來安裝IIS里的Web服務。同時,為了網站的安全,請及時訪問微軟的官方網站下載并安裝有關補丁程序。如果采用其它的Web服務器軟件,如Apache軟件,安裝時請按照安裝說明進行安裝和配置。2.3.1IIS的配置默認情況下,IIS將它的根目錄設置到C:\Inetpub\wwwroot下,在開始菜單中選“程序→管理工具→Internet服務管理器→Internet信息服務→myWeb(服務器名)→默認Web站點→屬性”,如圖2-1所示。在“Web站點”中,“IP地址”欄內輸入或選擇一個有效的IP地址作為此站點的地址,如內部網可用“”作為Web站點的IP地址,如圖2-2。圖2-1Internet信息服務圖2-2設置站點IP地址在“主目錄”的“本地路徑”中填寫:C:\Inetpub\wwwroot,或根據實際情況通過“瀏覽”選擇自己的Web服務目錄,如圖2-3。在“文檔”中,修改瀏覽器默認調用的文件名及調用順序,如圖2-4。

圖2-3設置站點主目錄圖2-4設置默認啟動文檔2.3.2測試ASP

用“記事本”或熟悉的文本編輯軟件創(chuàng)建一個文件,并鍵入以下代碼:

<html> <head> <title>我的第一個ASP程序</title> </head> <body>

<% response.write("helloworld!") %> </body> </html>

將此文件命名為hello.asp,保存到站點主目錄內。要訪問此ASP文件,只需在瀏覽器的地址欄中鍵入:http://localhost/hello.asp,如果一切正常,瀏覽器上將顯示出如圖2-5所示結果。

圖2-5第一個ASP程序運行結果如果顯示不正確,則需要檢查IIS的配置及文件的訪問權限等,常見的錯誤及解決辦法見表2-1。錯誤信息錯誤原因及解決方法無法與服務器建立連接Web服務器未啟動或網絡出現(xiàn)故障。檢查IIS是否正常啟動以及網絡是否正常。無法找到網頁指定位置不存在所要訪問的文件。檢查輸入的地址及文件名是否正確。禁止訪問未正確設置ASP所在目錄的訪問權限。改變該目錄的權限為“讀取及執(zhí)行”。表2-1ASP錯誤信息及解決辦法本章小結本章簡要地介紹了ASP的產生、基本概念及ASP的應用,詳細地講解了Web服務器的配置。正確配置IIS,是以后運行ASP程序的前提條件。下一章將介紹ASP源程序主題語言——HTML,為以后編寫出高質量的ASP應用程序打下基礎。習

題1.什么是ASP?2.ASP的工作方式是怎樣的?3.簡述IIS的配置要點。4.編寫一個ASP程序,在屏幕上顯示“HelloWorld!”答

點(略)

HTML語言基礎

HTML(HyperTextMarkupLanguage,即超文本標記語言)是一種用來制作超文本文檔的簡單標記語言。用HTML編寫的超文本文檔稱為HTML文檔,它能獨立于各種操作系統(tǒng)平臺(如UNIX,WINDOWS等)。自1990年以來HTML就一直被用作WWW上的信息表述語言,用于描述網頁的格式設計和它與WWW上其它網頁的鏈接信息。

HTML文檔(即網頁的源文件)是一個放置了標記的ASCII文本文件,通常它帶有.html或.htm的文件擴展名。生成一個HTML文檔主要有以下三種途徑:

(1)手工直接編寫(例如用你所喜愛的ASCII文本編輯器或其它HTML的編輯工具)。(2)通過某些格式轉換工具將現(xiàn)有的其它格式文檔(如WORD文檔)轉換成HTML文檔。(3)借助專用制作工具軟件,如Frontpage、Dreamweaver等進行設計與制作。HTML語言是通過利用各種標記(tags)來標識文檔的結構以及標識超鏈接(Hyperlink)信息的。雖然HTML語言描述了文檔的結構格式,但并不能精確地定義文檔信息必須如何顯示和排列,而只是建議Web瀏覽器(如Mosiac,Netscape等)應該如何顯示和排列這些信息,最終在用戶面前的顯示結果取決于Web瀏覽器本身的顯示風格及其對標記的解釋能力。這就是為什么同一文檔在不同的瀏覽器中展示的效果會不一樣的原因。3.1網頁設計基本原則

設計網頁如同編寫其它計算機程序一樣,需要一定的專業(yè)知識和基本技能,而且必須對設計環(huán)境有個明確的了解。在設計網頁的過程中,要清楚地了解網頁的閱讀對象,要對整個網絡文檔有統(tǒng)一的規(guī)劃。總體說來,要了解以下基本設計原則:

(1)正確分析網頁用戶的需要。(2)網頁下載時間不宜過長。注意網頁文件的大小,在50KB以內為宜。(3)網頁的設計要做到在不同的環(huán)境下都能瀏覽。(4)注意網頁中的圖形設計。首先,圖形的文件大小要盡可能小,盡量使用GIF文件和JPG文件,不使用BMP文件。其次,每個圖形都要有相應的替代文字,這使得用戶在關閉圖形顯示功能時能夠看到替代文字。(5)定期更新網頁內容。每隔一定時間就對網頁內容和版面設計進行較大幅度的更新,從而吸引訪問者的注意力。這不失為增加來訪次數(shù)的好方法。(6)注意網站內容的搭配。在首頁中盡量使之美觀大方,直觀又豐富。其它網頁要與首頁有很好的搭配效果。(7)考慮不支持某些功能的瀏覽器。隨著網頁設計技術的不斷進步,在網頁中經常會使用一些特殊的技術,使得網頁的功能更加豐富,看起來也更加美觀。但是不可排除一些用戶使用過時的瀏覽器瀏覽這些網頁,這就需要為這些特殊的功能部分添加替代性文字,避免誤將程序代碼顯示出來。(8)對多媒體文件實施有限的限制。盡管網絡多媒體技術有了很大的發(fā)展,但由于網絡速度的限制,就要求一個網頁設計者在設計網頁時要充分考慮到所添加多媒體部分的大小和必要性。3.2HTML語言的結構

從結構上講,HTML文件由元素(element)組成。組成HTML文件的元素有許多,用于組織文件的內容和指導文件的輸出格式。絕大多數(shù)元素是“容器”,即它有起始標記和結尾標記。元素的起始標記叫做起始標記(starttag)。元素結束標記叫做結尾標記(endtag)。在起始標記和結尾標記中間的部分是元素體。每一個元素都有名稱和可選擇的屬性,元素的名稱和屬性都在起始標記內標明。比如體元素(body):

<bodybackgroud="background.gif"><h2>示例</h2>這是一個示例<p></body>第一行是體元素的起始標記,它標明體元素從此開始。由于所有的標記都具有相同的結構,因此仔細分析這個標記的各個部分,就能對標記的寫法有一個大概了解。<起始標記開始

body元素名稱,由于元素和標記一一對應,所以元素名也叫標記名。注意:<和body之間不能有空格。元素名稱不分大小寫。

background屬性名。一個元素可以有多個屬性,屬性及其屬性值不分大小寫。

background.gif屬性值。表示用

background.gif文件來填充背景。屬性名、=、屬性值三者合起來構成一個完整的屬性,一個元素可以有多個屬性,各個屬性用空格分開。

>起始鏈接鏈結束。第二行和第三行是body元素的元素體,最后一行是body元素的結尾標記。結尾標記用</開始,隨后是元素名,然后是大于號>。

從上面的例子中可以看出,一個元素的元素體內可以有另外的元素。實際上,html文件僅由一個html元素組成,即文件以<html>開始,以</html>結尾,文件其它部分都是html的元素體。html元素的元素體由兩大部分,即頭元素<head>…</head>和體元<body>…</body>和一些注釋組成。頭元素和體元素的元素體又由其它的元素和文本及注釋組成。也就是說,一個HTML文件應具有下面的結構:

<html>html文件開始<head> 文件頭開始文件頭</head> 文件頭結束<body> 文件體開始文件體</body> 文件體結束</html> HTML文件結束需要說明的是,HTML是一門發(fā)展很快的語言,因而現(xiàn)在流行的瀏覽器為保持對早期HTML文件的兼容性,也支持不按上述結構編寫HTML文件。還需要說明的是,各種瀏覽器對HTML元素及其屬性的解釋也不完全一樣。一般來講,HTML的元素有下列三種表示方法:<元素名>文件或超文本</元素名>。<元素名屬性名=“屬性值…”>文本或超文本</元素名>。<元素名>

第三種寫法僅用于一些特殊的元素,例如分段元素P,它僅僅通知WWW瀏覽器在此處分段,因而不需要界定作用范圍,所以它沒有結尾標記。HTML3.0標準中,也定義了</p>標記,它用于需要界定作用范圍的段落,比如增加對齊方式屬性的段落。在HTML文件中,有些元素只能出現(xiàn)在頭元素中,絕大多數(shù)元素只能出現(xiàn)在體元素中。在頭元素中的元素表示的是該HTML文件的一般信息,比如文件名稱、是否可檢索等等。這些元素書寫的次序是無關緊要的,它只表明該HTML有沒有該屬性。與此相反,出現(xiàn)在體元素中的元素是次序敏感的,改變元素在HTML文件中的次序會改變該HTML文件的輸出形式。3.3構成網頁的基本元素3.3.1題目(title)title元素是文件頭中唯一一個必須出現(xiàn)的元素,它也只能出現(xiàn)在文件頭中。title元素的格式為:<title>題目</title>題目:標明該HTML文件的題目,是對文件內容的概括。文件的題目一般不會顯示在文本窗口中,而以窗口的名稱顯示出來。除了標識窗口外,當將某一網頁存入書簽或文件時,題目還用作書簽名或缺省的文件名。<html><title>一個簡單的html文件</title>這是我的第一個html文件。</html>雖然題目的長度沒有限制,但過長的題目會導致折行,一般情況下它的長度不應超過64個字符。由于題目的作用是標明文件內容,所以太短的題目也是不可取的。在頭元素中還可以出現(xiàn)其它元素,如<isindex>,<meta>等等,這些元素都不是必須的,而且也不常用。具體用法及含義可以參考有關書籍。下面是一個最簡單的HTML文件:3.3.2標題(hn)標題標簽用于顯示HTML文件的各級標題,格式為:<Hn>標題內容</Hn>其中n為1-6之間的整數(shù),其值越大,字越?。簿褪钦f第一級標題(H1)字最大,第六級(H6)最小。標題內容用黑體字顯示,各行之間自動插入空行。<H4>多用作文本正文;H6字體最小(幾乎不用)。<H1>至<H3>比一般正文字體大,而<H5>至<H6>比一般正文字體小。由于標題標簽具有段落屬性,這就使得一個段落內不能使用兩種標題標簽。圖3-1給出了由下面代碼產生的屏幕效果。<html><head><title>標題示例</title></Head><body> <h1>一級標題是這樣的</h1> <h2>二級標題是這樣的</h2> <h3>三級標題是這樣的</h3> <h4>四級標題是這樣的</h4> <h5>五級標題是這樣的</h5> <h6>六級標題是這樣的</h6></body></html>圖3-1hn的屏幕輸出結果3.3.3分段<P>

HTML的瀏覽器是基于窗口的,用戶可以隨時改變顯示區(qū)的大小,所以HTML將多個空格以及回車看成一個空格,這是和絕大多數(shù)字處理器不同的。HTML的分段依賴于分段元素<P>。<P>也有多種屬性,比較常用的屬性是:align=##可以是left,center,right,其含義同上文。例如:<palign=center>段落居中</p>當HTML文件中有圖形時,圖形可能占據了窗口的一端,圖形的周圍可能有較大的空白區(qū)。這時,不帶clear屬性的<P>可能會使文章的內容顯示在該空白區(qū)內。為確保下一段內容顯示在圖形的下方,可使用clear屬性。clear屬性的含義為:clear=left下一段顯示在左邊界處空白的區(qū)域。clear=right下一段顯示在右邊界處空白的區(qū)域。clear=all下一段的左右兩邊都不許有別的內容。3.3.4清單List清單用于列舉事實。常用的清單有3種格式,即無序清單(unorderedList),有序清單(orderedlist)和定義清單(definitionlist)。1.無序清單(ul)無序清單用(ul,此處的l不是數(shù)字1)開始,每一個清單條目用<li>引導,最后是</ul>。注意清單條目不需要結尾標記</li>。輸出時每一清單條目縮進,并且以圈點標示。例如:<ul><li>今天<li>明天</ul>輸出為:○今天○明天2.有序清單<ol>有序清單與無序清單相比,只是在輸出時清單條目用數(shù)字標示,下面是一個例子及其輸出。<ol><li>今天<li>明天</ol>輸出為:1.今天2.明天

3.定義清單<dl>定義清單用于對清單條目進行簡短說明的場合,用<dl>開始,清單條目用<dt>引導,它的說明用<dd>引導。<dl><dt>條目1<dd>條目1的定義<dt>條目2<dd>條目2的定義</dl>輸出為:條目1條目1的定義條目2條目2的定義3.3.5居中很多元素都有對齊方式屬性,如hn、p等。也可以直接用居中標記<center>…</center>:圖3-2

對齊方式示例

<h3align=center>今天的</h3><center>天氣真好!?。?lt;/center>輸出結果如圖3-2所示。3.4超文本鏈接指針超文本鏈接指針是html最吸引人的優(yōu)點之一。使用超文本鏈接指針可以使順序存放的文件具有一定程度上隨機訪問的能力,更加符合人的思維方式。組織得好的鏈接指針不僅能使讀者跳過不感興趣的章節(jié),而且有助于更好地理解作者的意圖。一個超文本鏈接指針由兩部分組成:一部分是被指向的目標,它可以是同一文件的另一部分,也可以是世界另一端的一個文件,還可以是動畫或音樂;另一部分是指向目標的鏈接指針。3.4.1統(tǒng)一資源定位器URL統(tǒng)一資源定位器URL(UiformResourceLocator)是文件名的擴展。在單機系統(tǒng)中,定位一個文件需要路徑和文件名,對于遍布全球的Internet網,顯然還需要知道文件存放在哪個網絡的哪臺主機中才行。與單機系統(tǒng)不一樣的是在單機系統(tǒng)中,所有的文件都由統(tǒng)一的操作系統(tǒng)管理,因而不必給出訪問該文件的方法;而在Internet上,各個網絡、各個主機的操作系統(tǒng)可能不一樣,因此必須指定訪問該文件的方法。一個URL包括了以上所有的信息。它的構成為:protocol://[:port]/directory/filename其中,protocol是訪問該資源所采用的協(xié)議,即訪問該資源的方法,它可以是:http:超文本傳輸協(xié)議,該資源是html文件。file:文件傳輸協(xié)議,用ftp訪問該資源。ftp:文件傳輸協(xié)議,用ftp訪問該資源。news:表明該資源是網絡新聞組。:是存放該資源主機的IP地址,通常以字符形式出現(xiàn),如port端口號:是服務器在該主機所使用的端口號。一般情況下端口號不需指定。只有當服務器所使用的端口號不是缺省的端口號時才指定,例如WWW服務默認情況下采用的端口號為80,如果設置了其它的端口號,訪問時必須加上端口號。directory和filename:該資源的路徑和文件名.一個典型的URL為:它表示中國教育和科研計算機網WWW服務器上的起始html文件。(文件具體存放的路徑及文件名取決于該WWW服務器的配置情況)。與單機系統(tǒng)絕對路徑、相對路徑的概念類似,統(tǒng)一資源定位器也有絕對URL和相對URL之分。前面所述的是絕對URL。相對URL是相對于最近訪問的URL。比如你正在瀏覽一個URL為/index.html的文件,如果想看同一個目錄下的另一個文件如/news.html,就可以直接使用news.html,這時news.html就是一個相對URL,它的絕對URL為/news.html

3.4.2指向一個目標<a>

在html文件中可用鏈接指針指向一個目標。其基本格式為:<ahref="url">字符串</a>href屬性中的url是被指向的目標,隨后的“字符串”在html文件中充當指針的角色,它一般顯示為藍色,也可以定義成其它顏色。當用戶用鼠標點擊這個字符串時,瀏覽器就會將url處的資源顯示在屏幕上。

在編寫html文件時,需要知道目標的url。如何才能得到目標的url呢?對于自己主機內的文件,它的url可以根據該文件的實際情況決定。對于Internet上的資源,在用瀏覽器觀看時,它的url會在瀏覽器的“地址欄”中顯示出來,把它抄下來寫到html文件中即可。此外,編寫html文件時,對有可能確定關系的一組資源(比如在同一個目錄中)應采用相對url,

這不僅可以簡化html文件,而且便于維護。比如當需要將某個目錄整個搬到另外一個地方或把某一主機的資源移到另一臺主機時,用相對url寫的html文件不用更新其中的url。但如果用絕對url編寫html文件,那么就逐個修改每個鏈接指針中的url。若各個資源之間沒有固定的關系,這時就只能用絕對url了。3.4.3標記一個目標上面提到的鏈接指針可以使讀者在整個Internet網上方便地鏈接。但如果編寫了一個很長的html文件,怎么能在同一文件的不同部分之間也建立起鏈接,使用戶方便地在上下方之間跳轉呢?前面提到一個超文本鏈接指針包括兩個部分:一是指向目標的鏈接指針,二是被指向的目標。對于一個完整的文件,可以用它的url來唯一地標識它,但對于同一文件的不同部分,怎樣來標識呢?下面的內容將介紹鏈接指針元素的另外的一個用途:標識目標。標識一個目標的方法為:<aname="name">text</a>name屬性將放置該標記的地方標記為“name”,name是一個全文唯一的標記串,text部分可有可無。這樣,就把放置標記的地方做了一個叫做“name”的標記。做好標記后,可以用下列方法來指向它:<ahref="url#name">text</a>url是放置標記的html文件的urlname是標記名。對于同一個文件,可以寫為:<ahref="#name">text</a>這時就可以點取text跳轉到標記名為name的部分了。3.4.4目標窗口如果希望被指向的目標在一個新的窗口中顯示,可以使用target屬性來修飾鏈接指針元素。如:<ahref="url"target="window-name">text</a>可將url代表的資源顯示在一個新的窗口中,該窗口的名字叫window-name,它可以是本窗口(_self)、父窗口(_parent)、新窗口(_blank)及整個瀏覽器窗口(_top)。

3.4.5圖像鏈接指針圖像也可以做為鏈接指針。格式為:<ahref="url"><imgsrc="url"></a>可以看出,上例中用<imgsrc="url">取代了鏈接指針中text的位置。<imgsrc="url">是圖像元素,它表明顯示url代表的圖像文件。下面是一個簡單的圖像鏈接指針。<ahref="">中國教育和科研計算機網<imgsrc="edu.gif"></a>3.4.6圖像地圖(imagemap)上面介紹的圖像鏈接指針每幅圖只能指向一個地點,而圖像地圖可以把圖像分成多個區(qū)域,每個區(qū)域指向不同的地點。這樣,就可以用圖像地圖編寫出很漂亮的html文件。使用圖像地圖稍微復雜一點。圖像地圖不僅需要在html文件中說明,它還需要一個后綴為.map的文件,用來說明圖像分區(qū)及其指向的url的信息。在.map文件中說明分區(qū)信息的格式如下:rect url左上角坐標,右下角坐標poly url各頂點坐標circleurl直徑兩端點坐標defaulturlrect指定一個矩形區(qū)域,該區(qū)域的位置由左上角坐標和右下角坐標說明。poly指定一多邊形區(qū)域,該區(qū)域的位置由各頂點坐標說明。circle指定一圓形區(qū)域,該區(qū)域的位置由垂直通過圓心的直徑與該圓的交點坐標說明。default指定圖像地圖其它部分的url。坐標的寫法為:x,y,各點坐標之間用空格分開。下面是一個完整的說明文件:default:rect:140,20280,60poly:180,80200,140circle:80,14080,100圖像地圖需要一個特殊的處理程序imagemap。imagemap放在/cgi-bin中。在html文件中引用圖像地圖的格式為:<ahref="/cgi-bin/imagemap/mymap.map"><imgsrc="mymap.gif"ismap></a>可以看出這是一個包含圖像元素的鏈接指針元素。圖像元素指明用于圖像地圖的圖像的url,并用Ismap屬性說明。需要說明的是鏈接指針中的href屬性,它由兩部分組成:第一部分是/cgi-bin/imagemap,它指出用哪個程序來處理圖像地圖,必須原樣寫入;第二部分是圖形地圖的說明文件mymap.map。/cgi-bin/imagemap/mymap.map絕不表示mymap.map在/cgi-bin/imagemap目錄中。在netscape擴展中,圖像地圖可以用一種比較簡化的方式來表示,這就是客戶端圖像地圖。用戶端地圖可以將圖像地圖的說明文件寫在html文件中,而且不需要另外的程序來處理。這就使html作者可以用同別的元素相一致的寫法來寫圖像地圖。用戶端圖像地圖的格式為:<imgsrc="url"usemap="#mymap">src="url"用于指定用作圖像地圖的圖像。usemap屬性指明這是客戶端圖像地圖。其中的“#mymap”是圖像文件說明部分的標記名,瀏覽器尋找名字為mymap的<map>元素并從中得到圖像地圖的分區(qū)信息。客戶端圖像地圖的分區(qū)信息用<mapname=mapname>元素說明,name屬性命名<map>元素。圖像地圖的各個區(qū)域用<areashape="形狀"coords="坐標"href="url">說明,形狀可以是:rect矩形,用左上角,右下角的坐標表示,各個坐標值之間用逗號分開;poly多邊形,用各頂點的坐標值表示;circle圓形,用圓心及半徑表示,前兩個參數(shù)分別為圓心的橫、縱坐標,第三個參數(shù)為半徑。href="url",表示該區(qū)域所指向的資源的url,也可以是nohref,表示在該區(qū)域鼠標點取無效??蛻舳藞D像地圖各個區(qū)域可以重疊,重疊區(qū)以先說明的條目為準,下面是一個例子:<imgsrc="mapimg.gif"usemap="#Face"><mapname="Face"><!TextBOTTON>此行是注釋<areashape="rect"href="page.html"coords="140,20,280,60"><!TriangleBOTTON><areashape="poly"href="image.html"coords="100,100,180,80,200,140"><!FACE><areashape="circle"href="nes.html"coords="80,100,60></map>3.5版面風格控制使用HTML可以對Web頁面的版面進行控制,比如字體大小、分行、畫線、背景和文本顏色等等。3.5.1字體1.字號html有七種字號,1號最小,7號最大。默認字號為3,可以用<fontsize=字號>來設置新的字號。設置文本的字號有兩種辦法:一種是設置絕對字號,如<fontsize=字號>;另一種是設置文本的相對字號,如<fontsize=±n>。用第二種方法時“+”號表示字體變大,“-”號表示字體變小。<fontsize=7>size=7:今天天氣很好!</font><br><fontsize=6>size=6:今天天氣很好!</font><br><fontsize=5>size=5:今天天氣很好!</font><br><fontsize=4>size=4:今天天氣很好!</font><br><fontsize=3>size=3:今天天氣很好!</font><br><fontsize=2>size=2:今天天氣很好!</font><br><fontsize=1>size=1:今天天氣很好!</font><br>輸出結果為:圖3-3不同字號的輸出結果

2.字體風格字體風格分為物理風格和邏輯風格。物理風格直接指定字體,其字體有黑體<b>,斜體<i>,下劃線<u>,打字機體<tt>。邏輯風格用于指定文本的作用。如:

<em>強調<srrony>特別強調<code>源代碼

<samp>例子<kbd>鍵盤輸入<var>變量<dfn>定義<cite>引用<small>較小<big>較大<sup>上標<sup>下標3.閃爍<blink>文本</blink>可使文本閃爍,閃爍頻率為1秒鐘一次。3.5.2橫線(hr)橫線,一般用于分隔同一文本的不同部分。在窗口中劃一條橫線非常簡單,只要寫一個<hr>即可。橫線的寬度用<hrsize=n>指定,n是線寬,單位是象素。例:<hrsize=10>。<hrwidth=#>指定橫線長度,既可以指定絕對線長,也可以指定橫線長度占窗口寬度的百分比。例<hrwidth=50>、<hrwidth=50%>。橫線的位置用<hralign=#>指定。#是left或right之一。left表示左端與左邊界對齊,right是右端與右邊界對齊。默認時,橫線出現(xiàn)在窗口中央。3.5.3行間圖像行間圖像可使網頁更加漂亮,但是過大的圖像會導致網絡通訊量急劇增大,延長訪問時間。所以在主頁上不宜采用很大的圖像。如果確實需要一些大圖像,最好在主頁中用一個縮小的圖像指向原圖,并標明該圖的大小。這樣訪問者可以快速地訪問你的主頁,自己選擇看還是不看那些圖像。圖像的基本格式為:<imgsrc="image-url">或<imgsrc="image-urd"alt="text">image-url是圖像文件的url。目前,大部分瀏覽器支持.gif和.jpg文件,alt屬性告訴不支持圖像的瀏覽器用text代替該圖。圖像在窗口中會占據一塊空間,在圖像的左右可能會有空白,不加說明時,瀏覽器將隨后的文本顯示在這些空白中,顯示的位置由align屬性指定。用align=left,right時,圖像是一個浮動圖像。比如align=left,圖像必須挨著左邊框,它把原來占據該塊空白的文本“擠走”,或擠到它右邊,或擠到它上下。文本與圖像的間距用vspace=#,hspace=#指定,#是整數(shù),單位是像素。前者指定縱向間距,后者指定橫向間距。3.5.4分行<br>和禁止分行<nobr><br>表示在此處分行,<nobr>…</nobr>將通知瀏覽器,其中的內容在一行內顯示,若一行內顯示不了,則超出部分將被裁剪掉。<brclear=#>中的clear屬性標明下一行的情況,如

clear=left,表示下一行從左邊界處開始。#可以是left、right、all之一。

3.5.5背影和文本顏色窗口背景可以用下列方法指定:<bodybackground="image-url"><bodybgcolor=#text=#link=#alink=#vlink=#>第一行指定的是填充背景的圖像,如果圖像的大小小于窗口大小,則把背景圖像重復,直到填滿窗口區(qū)域。第二行指定的是16進制的紅、綠、藍分量。bgcolor:背景顏色text:文本顏色link:鏈接指針顏色alink:活動的鏈接指針顏色vlink:已訪問過的鏈接指針顏色例如:<bodybgcolor=FF0000>大紅背景色。

注意,此時體元素必須寫完整,即用<body>結束。3.5.6轉義字將與特殊字符html中<、>及&字符有特殊含義,(前兩個字符用于鏈接簽,&用于轉義),不能直接使用。要使用這三個字符,必須用它們的轉義序列。l

&的轉義序列為&s或&;l

<的轉義序列為<或<;l

>的轉義序列為>或>;前者為字符轉義序列,后者為數(shù)字轉義序列。例如:<font>顯示為<font>。若直接寫為<font>則會被認為是一個鏈接簽。

需要說明的是:l

轉義序列各字符間不能有空格。l

轉義序列必須以“;”結束。l

單獨的&不被認為是轉義開始。如“<”被解釋為“<”而不是“<”。另一個需要轉義的字符是引號,它的轉義序列為“"”或“"”,例如<imgsrc="image.gif"alt="A&quol;real"example">html使用的字符集是ISO8859-1字符集,該字符集中有許多在標準鍵盤上無法輸入的字符。對這些特殊字符只能使用轉義序列。3.6表格(Table)3.6.1表格的基本形式一個表由<table>開始,</table>結束,表的內容由<tr>、<th>和<td>定義。<tr>說明表的一個行,表有多少行就有多少個<tr>;<th>說明表的列數(shù)和相應欄目的名稱,有多少個欄就有多少個<th>;<td>則填充由<tr>和<th>組成的表格。border屬性用來說明是否用表格線分開。3.6.2有通欄的表有橫向通欄的表用<thcolspan=#>屬性說明,colspan表示橫向欄距,#代表通欄占據的網格數(shù),它是一個小于表的橫向網格數(shù)的整數(shù)。有縱向通欄的表用<rowspan=#>屬性說明。rowspan表示縱向欄距,#表示通欄占據的網格數(shù),應小于縱向網絡數(shù)。需要說明的是有縱向通欄的表,每一行必須用</tr>明確表示一橫向欄目結束,這是和表的基本形式不同的。

3.6.3表的大小、邊框寬度及表格間距表的大小用width=#和height=#屬性說明。前者為表寬,后者為表高,#是以像素為單位的整數(shù)。邊框寬度由border=#說明,#為寬度值,單位是像素。表格間距即劃分表格的線的粗細用cellspacing=#表示,#的單位是像素。

3.6.4表中文本的輸出文本與表框的距離用cellpadding=#說明。表格的寬度大于其中的文本寬度時,文本在其中的輸出位置用align=#說明。#是left,center和right三者之一,分別表示左對齊、居中和右對齊。align屬性

溫馨提示

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

評論

0/150

提交評論