版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Web數(shù)據(jù)庫概述
1.1Web概述1.1.1Web的歷史
Web的產(chǎn)生是與互聯(lián)網(wǎng)的發(fā)展密切相關(guān)的。1965年TedNelson首創(chuàng)了“超文本”術(shù)語,1967年把實(shí)現(xiàn)分布式的計(jì)劃命名為Xanadu。但該項(xiàng)目于1987年才算完成,只設(shè)計(jì)出“一個(gè)運(yùn)行于SUN工作站上的粗糙的工具”。1988年,Autodesk公司買下了Xanadu,Nelson繼續(xù)研究該項(xiàng)目。
直到1988年,才設(shè)計(jì)出1981年的目標(biāo)。歐洲粒子物理實(shí)驗(yàn)室即CERN的TimBerners-Lee受到Nelson的影響提出一項(xiàng)計(jì)劃,目的是使科學(xué)家們很容易查閱同行的文章,進(jìn)一步演化成科學(xué)家能在服務(wù)器上創(chuàng)建文檔。該項(xiàng)目從1990年10月開始到1990年12月完成,結(jié)果出版了命令行方式瀏覽器和NeXTStep瀏覽器。該瀏覽器可用于瀏覽服務(wù)器超文本文件及CERN的USENET。
1992年7月,WWW在CERN內(nèi)部得到了廣泛的使用。到了1993年1月全世界共有30臺(tái)Web服務(wù)器,并有各種瀏覽器版本發(fā)行,包括用于Macintosh和XWindows的客戶程序。1993年伊利諾斯大學(xué)Urbana-Champaign分校的國家超級(jí)計(jì)算應(yīng)用中心NCSA(NationalCenterforSupercomputingApplications)發(fā)行了一個(gè)新的瀏覽器軟件。從此,WWW初具規(guī)模。
CERN的Tim和他的小組解決了文檔的共享和鏈接問題,但是主要基于NeXT服務(wù)器及工作站。由JoeHardin領(lǐng)導(dǎo)的NCSA系統(tǒng)開發(fā)小組開始一項(xiàng)旨在開發(fā)一個(gè)不僅能處理Tim描述的超文本,而且還能支持其它的多種協(xié)議的WWW瀏覽器。于是在1993年2月發(fā)行了X-windows版Mosaic1.0。
隨后,Mosaic瀏覽器版本逐漸增加采用了MIME協(xié)議在瀏覽器中能直接瀏覽圖形甚至聲音。這時(shí)Web基本成熟,使WWW在Internet中空前火爆,也如此產(chǎn)生了瀏覽器間的競(jìng)爭。
NCSA把服務(wù)器技術(shù)轉(zhuǎn)讓給了一家名為Spyglass的商業(yè)轉(zhuǎn)售商,并把客戶程序交給經(jīng)銷商出售,隨后的一段時(shí)間內(nèi)出現(xiàn)了幾十種瀏覽器。1994年3月MarcAndreessen等第一批人員離開NCSA與硅谷的SiliconGraphics公司的JimClark成立了Mosaic通訊公司(1994年10月更名為Netscape通訊公司),并雇傭了許多Mosaic、WWW、Lynx等的設(shè)計(jì)者,很快發(fā)布了第一代瀏覽器產(chǎn)品,實(shí)現(xiàn)了許多HTML正在討論的特性。
1.1.2Web及其工作模式
Web即萬維網(wǎng),就是通過使用通訊設(shè)備和線路,將處在不同地理位置、操作上相對(duì)獨(dú)立的多個(gè)計(jì)算機(jī)連接起來,再配置一定的系統(tǒng)軟件和應(yīng)用軟件,在這些計(jì)算機(jī)上實(shí)現(xiàn)軟硬件的資源共享和信息傳遞,由此而構(gòu)成的計(jì)算機(jī)網(wǎng)絡(luò)。
互聯(lián)網(wǎng)是由全球眾多的計(jì)算機(jī)局域網(wǎng)互相連接組成的一個(gè)超大規(guī)模的網(wǎng)絡(luò)系統(tǒng),在這個(gè)系統(tǒng)中運(yùn)行著多種應(yīng)用系統(tǒng),如上網(wǎng)使用的網(wǎng)頁瀏覽系統(tǒng)——WWW、上傳與下載用的文件傳輸系統(tǒng)——FTP、收發(fā)電子郵件所使用的電子郵件系統(tǒng)——E-Mail等?;ヂ?lián)網(wǎng)中運(yùn)行的每一種應(yīng)用系統(tǒng)都是由互聯(lián)網(wǎng)中相應(yīng)的服務(wù)器系統(tǒng)、客戶機(jī)系統(tǒng)構(gòu)成,也就是說互聯(lián)網(wǎng)從物理連接來看是由眾多的計(jì)算機(jī)組成,而從邏輯上看是由多個(gè)功能子網(wǎng)組成。
前面所提到的幾個(gè)應(yīng)用系統(tǒng)即是一些常見的子網(wǎng),其中的WWW由聯(lián)入互聯(lián)網(wǎng)的Web服務(wù)器和瀏覽頁面的客戶機(jī)構(gòu)成,這種工作模式通常稱為B/S模式(Browser/Server模式)。還有一種模式為C/S模式(Client/Server模式),它是通過在服務(wù)器和客戶機(jī)上分別安裝相應(yīng)的程序,從而達(dá)到使客戶機(jī)能夠與服務(wù)器進(jìn)行通訊的目的。客戶機(jī)/服務(wù)器的概念來源于日常生活中常見的一種工作方式。例如,在一個(gè)大餐館中,顧客向服務(wù)員點(diǎn)菜,服務(wù)員把顧客的要求通知給廚房的廚師,廚師按顧客的要求做好菜讓服務(wù)員端給顧客,這就是一種餐館的C/S工作方式。餐館中的服務(wù)員和廚師進(jìn)行了分工:服務(wù)員直接面向顧客,了解顧客的要求并向顧客提供最終服務(wù);廚師看不到食客,但具體運(yùn)作食客提交的任務(wù)。
如果把餐館看成一個(gè)系統(tǒng),則服務(wù)員與廚師的分工就是一種系統(tǒng)的分工,C/S工作方式就是一種系統(tǒng)分工、協(xié)同的工作方式。招待員與廚師的分工關(guān)系是一種系統(tǒng)的結(jié)構(gòu)關(guān)系,所以C/S實(shí)際上也是一種系統(tǒng)結(jié)構(gòu)模式。
在瀏覽網(wǎng)頁時(shí),服務(wù)器上的WWW服務(wù)允許你用鼠標(biāo)點(diǎn)擊“超級(jí)鏈接”(簡言之,就是使鼠標(biāo)光標(biāo)變成手形的文本詞句或圖形),每次你點(diǎn)擊一項(xiàng),WWW程序就執(zhí)行所要求的任務(wù),一直到你的需要得到滿足。
在這一過程中,要涉及兩個(gè)不同的程序:一個(gè)程序安裝在客戶機(jī)上,它執(zhí)行你的鼠標(biāo)點(diǎn)擊,發(fā)出http請(qǐng)求,接到響應(yīng)后,立即顯示鏈接的網(wǎng)頁內(nèi)容,確保你的要求得到執(zhí)行,這個(gè)程序叫做WWW客戶機(jī)程序,比如上網(wǎng)所使用的瀏覽器(IE或Netscape);另一個(gè)程序在服務(wù)器上,如IIS或“阿帕奇”(Apache)Web服務(wù)器軟件,它對(duì)WWW客戶機(jī)所要求的一切進(jìn)行滿足,也就是接到http請(qǐng)求后,發(fā)出響應(yīng)。
1.2Web數(shù)據(jù)庫
1.2.1Web數(shù)據(jù)庫的概念數(shù)據(jù)庫是指按照一定的結(jié)構(gòu)和規(guī)則組織起來的相關(guān)數(shù)據(jù)的集合,是存放數(shù)據(jù)的“倉庫”,據(jù)此將網(wǎng)絡(luò)數(shù)據(jù)庫定義為以后臺(tái)數(shù)據(jù)庫為基礎(chǔ)的,加上一定的前臺(tái)程序,通過瀏覽器完成數(shù)據(jù)存儲(chǔ)、查詢等操作的系統(tǒng)。
數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)處理與存儲(chǔ)數(shù)據(jù)的最有效、最成功的技術(shù),而計(jì)算機(jī)網(wǎng)絡(luò)的特點(diǎn)是資源共享,因此數(shù)據(jù)與資源共享這兩種技術(shù)的結(jié)合即成為今天廣泛應(yīng)用的Web數(shù)據(jù)庫(也叫網(wǎng)絡(luò)數(shù)據(jù)庫)。一個(gè)Web數(shù)據(jù)庫就是用戶利用瀏覽器作為輸入接口,輸入所需要的數(shù)據(jù),瀏覽器將這些數(shù)據(jù)傳送給網(wǎng)站,而網(wǎng)站再對(duì)這些數(shù)據(jù)進(jìn)行處理,例如,將數(shù)據(jù)存入后臺(tái)數(shù)據(jù)庫,或者對(duì)后臺(tái)數(shù)據(jù)庫進(jìn)行查詢操作等,最后網(wǎng)站將操作結(jié)果傳回給瀏覽器,通過瀏覽器將結(jié)果告知用戶。網(wǎng)站上的網(wǎng)站上的后臺(tái)數(shù)據(jù)庫就是Web數(shù)據(jù)庫。
通常,Web數(shù)據(jù)庫的環(huán)境由硬件元素和軟件元素組成。硬件元素包括Web服務(wù)器、客戶機(jī)、數(shù)據(jù)庫服務(wù)器、網(wǎng)絡(luò)。軟件元素包括客戶端必須有能夠解釋執(zhí)行HTML代碼的瀏覽器(如IE,Netscape等);在Web服務(wù)器中,必須具有能執(zhí)行可以自動(dòng)生成HTML代碼的程序的功能,如ASP,CGI等;具有能自動(dòng)完成數(shù)據(jù)操作指令的數(shù)據(jù)庫系統(tǒng),如Access,SQLServer等。
1.2.2WWW網(wǎng)絡(luò)環(huán)境下Web數(shù)據(jù)庫由于Web的易用性、實(shí)用性,它很快占據(jù)了主導(dǎo)地位,已經(jīng)成為使用最為廣泛、最有前途、最有魅力的信息傳播技術(shù)。不過,Web服務(wù)只是提供了Internet上信息交互的平臺(tái)。隨著Internet技術(shù)的興起與發(fā)展和Web技術(shù)的蓬勃發(fā)展,人們已不滿足于只在Web瀏覽器上獲取靜態(tài)的信息,人們需要通過它發(fā)表意見、查詢數(shù)據(jù),甚至進(jìn)行網(wǎng)上購物,這就迫切需要實(shí)現(xiàn)真正的Internet.Web與數(shù)據(jù)庫的互連,將人、企業(yè)、社會(huì)與Internet融為一體。Web技術(shù)發(fā)展到今天,人們已經(jīng)可以把數(shù)據(jù)庫技術(shù)引入到Web系統(tǒng)中。數(shù)據(jù)庫技術(shù)發(fā)展比較成熟,特別適用于對(duì)大量的數(shù)據(jù)進(jìn)行組織管理,Web技術(shù)具有較佳的信息發(fā)布途徑,這兩種技術(shù)的天然互補(bǔ)性決定相互融合是其發(fā)展的必然趨勢(shì)。將Web技術(shù)與數(shù)據(jù)庫技術(shù)融合在一起,使數(shù)據(jù)庫系統(tǒng)成為Web的重要有機(jī)組成部分,不僅可以把二者的所有優(yōu)點(diǎn)集中在一起,而且能夠充分利用大量已有的數(shù)據(jù)庫信息資源,使用戶在Web瀏覽器上方便地檢索和瀏覽數(shù)據(jù)庫的內(nèi)容,這對(duì)許多軟件開發(fā)者來說具有極大的吸引力。因此,將Web技術(shù)與數(shù)據(jù)庫相結(jié)合,開發(fā)動(dòng)態(tài)的Web數(shù)據(jù)庫應(yīng)用已成為當(dāng)今Web技術(shù)研究的熱點(diǎn)。關(guān)系數(shù)據(jù)庫最初設(shè)計(jì)為基于主機(jī)/終端方式的大型機(jī)上的應(yīng)用,其應(yīng)用范圍較為有限,隨著客戶機(jī)/服務(wù)器方式的流行和應(yīng)用向客戶機(jī)方向的分解,關(guān)系數(shù)據(jù)庫又經(jīng)歷了客戶機(jī)/服務(wù)器時(shí)代,并獲得了極大的發(fā)展。
隨著Internet應(yīng)用的普及,由于Internet上信息資源的復(fù)雜性和不規(guī)范性,關(guān)系數(shù)據(jù)庫初期在開發(fā)各種網(wǎng)上應(yīng)用時(shí)顯得力不從心,表現(xiàn)在無法管理各種網(wǎng)上的復(fù)雜的文檔型和多媒體型數(shù)據(jù)資源,后來關(guān)系數(shù)據(jù)庫對(duì)于這些需求作出了一些適應(yīng)性調(diào)整,如增加數(shù)據(jù)庫的面向?qū)ο蟪煞忠栽黾犹幚矶喾N復(fù)雜數(shù)據(jù)類型的能力,增加各種中間件(主要包括CGI、ISAPI、ODBC、JDBC、ASP等技術(shù))以擴(kuò)展基于Internet的應(yīng)用能力,通過應(yīng)用服務(wù)器解釋執(zhí)行各種HTML中嵌入腳本來解決Internet應(yīng)用中數(shù)據(jù)庫數(shù)據(jù)的顯示、維護(hù)、輸出以及到HTML的格式轉(zhuǎn)換等。
此時(shí)關(guān)系數(shù)據(jù)庫的基于Internet應(yīng)用的模式典型表現(xiàn)為一種三層或四層的多層結(jié)構(gòu)。在這種多層結(jié)構(gòu)體系下,關(guān)系數(shù)據(jù)庫解決了數(shù)據(jù)庫的Internet應(yīng)用的方法問題,使得基于關(guān)系數(shù)據(jù)庫能夠開發(fā)各種網(wǎng)上數(shù)據(jù)庫數(shù)據(jù)的發(fā)布、檢索、維護(hù)、數(shù)據(jù)管理等一般性應(yīng)用。但是關(guān)系數(shù)據(jù)庫從設(shè)計(jì)之初并沒有也不可能考慮到以http為基礎(chǔ)、HTML為文件格式的互聯(lián)網(wǎng)的需求,只是在互聯(lián)網(wǎng)出現(xiàn)后才作出相應(yīng)的調(diào)整。
同時(shí),關(guān)系數(shù)據(jù)庫的基于中間件的解決方案又給Internet應(yīng)用帶來了新的網(wǎng)絡(luò)瓶頸,應(yīng)用服務(wù)器端由于與數(shù)據(jù)庫頻繁交互,因其本身的效率和數(shù)據(jù)庫檢索的效率造成Internet應(yīng)用在應(yīng)用服務(wù)器端的阻塞。
雖然關(guān)系型數(shù)據(jù)庫具有完備的理論基礎(chǔ)、簡潔的數(shù)據(jù)模型、透明的查詢語言和方便的操作方法等優(yōu)點(diǎn),但是由于它本身并沒有針對(duì)網(wǎng)絡(luò)的特點(diǎn)和要求進(jìn)行設(shè)計(jì),因此并不適用于網(wǎng)絡(luò)環(huán)境,我們應(yīng)該研究開發(fā)新的數(shù)據(jù)庫技術(shù),
從開始就考慮到Web的信息和結(jié)構(gòu)特點(diǎn),使數(shù)據(jù)庫真正能與Web融合為一體,充分利用二者的特點(diǎn),建立合理的Web數(shù)據(jù)庫。
那么,為什么使用網(wǎng)絡(luò)數(shù)據(jù)庫呢?簡言之,因?yàn)槿藗冊(cè)诰W(wǎng)絡(luò)數(shù)據(jù)庫中可以找到他們需要的東西,包括期刊查詢,檢查銀行帳戶、股票價(jià)格、利率、實(shí)現(xiàn)電子商務(wù)等等。這些功能是用HTML編寫的網(wǎng)頁是無法做到的,因?yàn)橛肏TML無法完成交互功能,要做到這些,必須使用網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)。
Web數(shù)據(jù)庫可以實(shí)現(xiàn)方便廉價(jià)的資源共享。數(shù)據(jù)信息是資源的主體,因而網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)自然而然成為互聯(lián)網(wǎng)的核心技術(shù)。
1.2.3幾種常用Web數(shù)據(jù)庫的比較
當(dāng)前比較流行的Web數(shù)據(jù)庫主要有:SQLServer、MySQL和Oracle。這3種數(shù)據(jù)庫適應(yīng)性強(qiáng),性能優(yōu)異,容易使用,在國內(nèi)得到了廣泛的應(yīng)用
1.SQLServer
是微軟公司從Sysbase獲得基本部件的使用許可后開發(fā)出的一種關(guān)系型數(shù)據(jù)庫。目前最新的版本是SQLServer2000,但SQLServer7.0仍在廣泛使用。
由于均出自微軟之手,使得SQLServer和Windows、IIS等產(chǎn)品有著天然的聯(lián)系。事實(shí)上以Windows為核心的幾乎所有微軟的軟件產(chǎn)品都采用了一致的開發(fā)策略,包括界面技術(shù)、面向?qū)ο蠹夹g(shù)、組件技術(shù)等,這樣在微軟的軟件中很多都可以相互調(diào)用,而且配合得非常密切。因此如果用戶使用的是Windows操作系統(tǒng),那么IIS、SQLServer就應(yīng)該是最佳的選擇。
2.MySQL是當(dāng)今Unix或Linux類服務(wù)器上廣泛使用的Web數(shù)據(jù)庫系統(tǒng)。它于1996年誕生于瑞典的TcX公司,支持大部分的操作系統(tǒng)平臺(tái)。MySQL的設(shè)計(jì)思想快捷、高效、實(shí)用。雖然它對(duì)ANSISQL標(biāo)準(zhǔn)的支持并不完善,但支持所有常用的內(nèi)容,完全可以勝任一般Web數(shù)據(jù)庫的工作。由于它不支持事務(wù)處理,MySQL的速度比一些商業(yè)數(shù)據(jù)庫快2~3倍,并且MySQL還針對(duì)很多操作平臺(tái)做了優(yōu)化,完全支持多CPU系統(tǒng)的多線程方式。在編程方面,MySQL也提供了C、C++、Java、Perl、Python和TCL等API接口,而且有MyODBC接口,任何可以使用ODBC接口的語言都可以使用它。更重要的是,MySQL的源代碼是公開的,可以免費(fèi)使用,這就使得MySQL成為許多中小型網(wǎng)站、個(gè)人網(wǎng)站追捧的明星。3.Oracle是Oracle公司開發(fā)出的一種面向網(wǎng)絡(luò)計(jì)算機(jī)并支持對(duì)象關(guān)系模型的數(shù)據(jù)庫產(chǎn)品。它是以高級(jí)結(jié)構(gòu)化查詢語言為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,是目前最
流行的客戶/服務(wù)器體系機(jī)構(gòu)的數(shù)據(jù)庫之一。目前廣泛使用的版本是Oracle8i,它之所以備受用戶喜愛是因?yàn)樗哂幸韵峦怀龅奶攸c(diǎn):(1)支持大型數(shù)據(jù)庫、多用戶和高性能的事務(wù)處理。Oracle支持最大數(shù)據(jù)庫,其大小可達(dá)到幾百千兆,可充分利用硬件設(shè)備;支持大量用戶同時(shí)對(duì)數(shù)據(jù)庫執(zhí)行各種數(shù)據(jù)操作,并使數(shù)據(jù)征用最小,保證數(shù)據(jù)一致性;系統(tǒng)維護(hù)具有很高的性能,Oracle每天可連續(xù)24小時(shí)工作,
正常的系統(tǒng)操作(后備或個(gè)別系統(tǒng)故障)不會(huì)中斷數(shù)據(jù)庫的應(yīng)用;可在數(shù)據(jù)庫級(jí)或子數(shù)據(jù)庫級(jí)上控制數(shù)據(jù)的可用性。(2)Oracle遵守?cái)?shù)據(jù)庫存取語言、操作系統(tǒng)、用戶接口、和網(wǎng)絡(luò)通訊協(xié)議的工業(yè)標(biāo)準(zhǔn),所以它是一個(gè)開放系統(tǒng),保護(hù)了用戶的投資。美國標(biāo)準(zhǔn)化和技術(shù)研究所(NIST)對(duì)OracleServer進(jìn)行過檢驗(yàn),完全與ANSI/ISOSQL89標(biāo)準(zhǔn)相兼容(3)實(shí)施安全性控制和完整性控制。Oracle為限制系統(tǒng)對(duì)各監(jiān)控?cái)?shù)據(jù)庫存取提供可靠的安全性,并為可接受的數(shù)據(jù)指定標(biāo)準(zhǔn),保證數(shù)據(jù)的完整性。
(4)支持分布式數(shù)據(jù)庫和分布式處理。Oracle為了充分利用計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò),允許將處理分為數(shù)據(jù)庫服務(wù)器和客戶應(yīng)用程序處理,所有共享的數(shù)據(jù)管理由數(shù)據(jù)庫管理系統(tǒng)的計(jì)算機(jī)處理,而運(yùn)行數(shù)據(jù)庫應(yīng)用的工作站集中于解釋和顯示數(shù)據(jù)。通過網(wǎng)絡(luò)連接環(huán)境,Oracle將存放在多臺(tái)計(jì)算機(jī)上的數(shù)據(jù)組合成一個(gè)邏輯數(shù)據(jù)庫,可被全部網(wǎng)絡(luò)用戶存取。分布式系統(tǒng)像集中式數(shù)據(jù)庫一樣具有透明性和數(shù)據(jù)一致性。
上面介紹的3種數(shù)據(jù)庫產(chǎn)品是目前最常用的3種大型關(guān)系數(shù)據(jù)庫系統(tǒng),它們雖然在體系結(jié)構(gòu)和操作方法上有許多相似的地方,但是在應(yīng)用環(huán)境上還是各有側(cè)重的。一個(gè)應(yīng)用系統(tǒng)在選用數(shù)據(jù)庫時(shí),性能和價(jià)格時(shí)首先要考慮的兩個(gè)因素,表1-1列出了這3種數(shù)據(jù)庫在性能和價(jià)格上的對(duì)比情況,在使用時(shí)不同的系統(tǒng)應(yīng)針對(duì)實(shí)際情況采用合適的方案。
表1-13種數(shù)據(jù)庫的性價(jià)比
數(shù)據(jù)庫系統(tǒng)MySQLSQLServerOracle數(shù)據(jù)庫費(fèi)用全免費(fèi)費(fèi)用按連接計(jì)算,費(fèi)用較高按計(jì)算機(jī)主頻計(jì)算,費(fèi)用較高操作系統(tǒng)及費(fèi)用Linux免費(fèi)NT,價(jià)格較高Linux全免費(fèi);windowsNT、Solaris價(jià)格較高速度較快快最快容量較大較大大備份、恢復(fù)較好好最好從用戶的技術(shù)水平以及國內(nèi)軟件應(yīng)用的現(xiàn)狀來看,SQLSever應(yīng)該是一個(gè)較好的選擇,尤其是對(duì)初學(xué)者而言。1.2.4Web服務(wù)器腳本
Web頁面與數(shù)據(jù)庫地連接是Web數(shù)據(jù)庫的基本要求。目前基于Web數(shù)據(jù)庫地連接方案主要有兩種類型:服務(wù)器端和客戶端方案。服務(wù)器端方案實(shí)現(xiàn)技術(shù)有CGI、SAPI、ASP、PHP等;客戶端方案實(shí)現(xiàn)技術(shù)有JDBC(JavaDatabaseConnectivity)、DHTML(DynamicHTML)等。其中ASP是微軟開發(fā)的腳本語言技術(shù),它嵌入在IIS中,因此ASP也就順理成章地成為大部分Windows用戶首選的腳本語言。
1.3腳本程序與數(shù)據(jù)庫的接口
在腳本程序中連接數(shù)據(jù)庫一般都需要相應(yīng)的接口來完成。連接數(shù)據(jù)庫的常用方法有:ODBC、DAO、RDO及ADO等。
(1)ODBC ODBC(OpenDatabaseConnectivity,即開發(fā)式數(shù)據(jù)庫連接)是微軟開發(fā)的一套統(tǒng)一的程序接口。通過這個(gè)接口可以存取不同廠商生產(chǎn)的數(shù)據(jù)庫。
經(jīng)過多年的改進(jìn),它已成為存取服務(wù)數(shù)據(jù)庫的標(biāo)準(zhǔn)。事實(shí)上,ODBC技術(shù)成了后來DAO、RDO及ADO等數(shù)據(jù)庫訪問技術(shù)的基礎(chǔ)。(2)DAODAO(DataAccessObjects,即服務(wù)器訪問對(duì)象)是微軟公司開發(fā)的一套主要應(yīng)用程序及開發(fā)工具,用它可以訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)對(duì)象,如Access、VB、Excel、Word等。(3)RDORDO(RemoteDataObjects,即遠(yuǎn)程數(shù)據(jù)庫訪問對(duì)象)是微軟公司為增強(qiáng)DAO的功能而推出的新產(chǎn)品。
該產(chǎn)品強(qiáng)化了SQLServer的訪問功能,提高了它的執(zhí)行效率。(4)ADOADO(ActivteXDataObjects,即ActivteX數(shù)據(jù)對(duì)象)是微軟在Internet領(lǐng)域采取的新舉措。它本身并不是一項(xiàng)新技術(shù),從對(duì)象結(jié)構(gòu)的角度來看,它比DAO提供的對(duì)象更少;從存取SQL服務(wù)器的角度來看,它提供的功能也不如RDO。但它汲取了DAO和RDO最精華的部分,成為一個(gè)更適合于Internet的小而精的對(duì)象群。因此,ADO實(shí)際上是腳本程序連接數(shù)據(jù)庫最好的選擇。
1.4應(yīng)用開發(fā)平臺(tái)由于Web應(yīng)用開發(fā)的獨(dú)特性,應(yīng)用開發(fā)平臺(tái)成為眾多廠商的關(guān)注焦點(diǎn)。目前市場(chǎng)上存在很多的Web應(yīng)用標(biāo)準(zhǔn)、集成開發(fā)環(huán)境。流行的主要是ASP、PHP、JSP三種。(1)ASP
ASP(ActivexServerPages)是由微軟創(chuàng)建的Web應(yīng)用開發(fā)標(biāo)準(zhǔn),ASP服務(wù)器已經(jīng)包含在IIS服務(wù)器中,
ASP服務(wù)器將
Web請(qǐng)求轉(zhuǎn)入解釋器中,在解釋器中將所有
ASP中的腳本進(jìn)行分析,然后執(zhí)行,同時(shí)可以創(chuàng)建COM對(duì)象以完成更多的功能,ASP中的腳本是Vbscript。優(yōu)點(diǎn):安裝配置方便,開發(fā)簡單易學(xué);開發(fā)工具功能強(qiáng)大。不足:ASP使用了組件因而將導(dǎo)致大量的安全問題;無法實(shí)現(xiàn)跨平臺(tái),只能應(yīng)用于WindowsNT/2000。建議采用MS架構(gòu)的網(wǎng)站采用ASP應(yīng)用開發(fā)平臺(tái)(IIS+VisualInterdev)。(2)PHPPHP由于其良好的性能及免費(fèi)的特點(diǎn),是目前互聯(lián)網(wǎng)中應(yīng)用非常流行的一種應(yīng)用開發(fā)平臺(tái)。優(yōu)點(diǎn):簡單易學(xué)、跨平臺(tái)、有良好數(shù)據(jù)庫交換能力的開發(fā)語言;與Apache及其擴(kuò)展庫緊密結(jié)合;良好的安全性。不足:安裝配置復(fù)雜;缺少企業(yè)級(jí)的支持;作為自由軟件,缺乏正規(guī)的商業(yè)支持;無法實(shí)現(xiàn)商品化的商業(yè)開發(fā)。建議基于Unix類平臺(tái)的應(yīng)用采用Apache+Php+PHPEd。(3)JSP優(yōu)點(diǎn):可移植性好,支持多種平臺(tái);強(qiáng)大的可伸縮性;多樣化與強(qiáng)大的工具支持。不足:安裝配置管理較為復(fù)雜;運(yùn)行速度較慢;建議開發(fā)大型應(yīng)用系統(tǒng)采用JSP本書重點(diǎn)講解ASP的開發(fā)技術(shù),其它開發(fā)技術(shù)請(qǐng)參考有關(guān)書籍。
本
章
小
結(jié)
本章主要介紹了Web數(shù)據(jù)庫的概念,分析與比較了幾種常用的Web數(shù)據(jù)庫的功能及特點(diǎn),對(duì)腳本程序與數(shù)據(jù)庫的接口技術(shù)也進(jìn)行了簡要的介紹。通過本章的學(xué)習(xí),讀者對(duì)Web數(shù)據(jù)庫有了初步的了解。
習(xí)
題1.簡述使用Web數(shù)據(jù)庫的原因。2.試對(duì)SQLServer、MySQL和Oracle三種數(shù)據(jù)庫進(jìn)行比較。3.腳本程序與數(shù)據(jù)庫連接的常用方法有幾種?各自的特點(diǎn)是什么?答
案
要
點(diǎn)
1.用HTML無法完成交互功能,實(shí)現(xiàn)信息的查詢,必須有網(wǎng)絡(luò)數(shù)據(jù)庫做支持,才能使人們?cè)诰W(wǎng)絡(luò)數(shù)據(jù)庫中可以找到他們需要的東西,包括期刊查詢,檢查銀行帳戶、股票價(jià)格、利率、實(shí)現(xiàn)電子商務(wù)等等。Web數(shù)據(jù)庫可以實(shí)現(xiàn)方便廉價(jià)的資源共享。2.見表1-1。3.要點(diǎn):(1)ASP由微軟創(chuàng)建的Web應(yīng)用開發(fā)標(biāo)準(zhǔn),包含在IIS服務(wù)器中,ASP服務(wù)器將Web請(qǐng)求轉(zhuǎn)入解釋器中,在解釋器中將所有ASP的腳本進(jìn)行分析,然后執(zhí)行,同時(shí)可以創(chuàng)建COM對(duì)象以完成更多的功能,ASP中的腳本是Vbscript。優(yōu)點(diǎn):安裝配置方便,開發(fā)簡單易學(xué);開發(fā)工具功能強(qiáng)大。不足:ASP使用了組件因而將導(dǎo)致大量的安全問題;無法實(shí)現(xiàn)跨平臺(tái),只能應(yīng)用于WindowsNT/2000。建議采用微軟架構(gòu)的網(wǎng)站采用ASP應(yīng)用開發(fā)平臺(tái)(IIS+VisualInterdev)。(2)PHPPHP由于其良好的性能及免費(fèi)的特點(diǎn),是目前互聯(lián)網(wǎng)中應(yīng)用非常流行的一種應(yīng)用開發(fā)平臺(tái)。優(yōu)點(diǎn):簡單易學(xué)、跨平臺(tái)、有良好數(shù)據(jù)庫交換能力的開發(fā)語言;與Apache及其擴(kuò)展庫緊密結(jié)合;良好的安全性。不足:安裝配置復(fù)雜;缺少企業(yè)級(jí)的支持;作為自由軟件,缺乏正規(guī)的商業(yè)支持;無法實(shí)現(xiàn)商品化的商業(yè)開發(fā)。建議基于Unix類平臺(tái)的應(yīng)用采用Apache+Php+PHPEd。(3)JSP優(yōu)點(diǎn):可移植性好,支持多種平臺(tái);強(qiáng)大的可伸縮性;多樣化與強(qiáng)大的工具支持。不足:安裝配置管理較為復(fù)雜;運(yùn)行速度較慢;建議開發(fā)大型應(yīng)用系統(tǒng)采用JSP。
ASP及其運(yùn)行環(huán)境2.1ASP概述2.1.1動(dòng)態(tài)Web技術(shù)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,互聯(lián)網(wǎng)帶給世界的已經(jīng)不僅僅是新的信息傳播途徑,這種訪問信息的方法已經(jīng)開創(chuàng)了新的產(chǎn)業(yè)。Web平臺(tái)是作為在Internet上共享文件的平臺(tái)而發(fā)展起來的,同時(shí),Web技術(shù)在企業(yè)內(nèi)部的Intranet和外部的商業(yè)Extranet應(yīng)用中越來越成熟。如何在WWW網(wǎng)頁上開發(fā)企業(yè)應(yīng)用程序并與企業(yè)數(shù)據(jù)庫鏈接一直是Intranet應(yīng)用開發(fā)的重點(diǎn)和難點(diǎn),動(dòng)態(tài)Web技術(shù)和ASP技術(shù)就是在這種要求下產(chǎn)生的。動(dòng)態(tài)Web技術(shù)的應(yīng)用有多種類型。第一種類型是與使用者直接交互的頁面,它的一個(gè)應(yīng)用是用傳統(tǒng)的電子表格的方法為使用者統(tǒng)計(jì)幾種數(shù)據(jù)表項(xiàng)的和。另一種應(yīng)用是一個(gè)Web頁面,它對(duì)用戶作出響應(yīng)并給出迅速的反饋,這種形式常被應(yīng)用于網(wǎng)絡(luò)數(shù)據(jù)庫的訪問。通常,用一個(gè)網(wǎng)絡(luò)數(shù)據(jù)庫存儲(chǔ)用戶可訪問的信息,由動(dòng)態(tài)Web頁提供對(duì)數(shù)據(jù)庫的訪問界面,用戶通過Web瀏覽器就可以進(jìn)行數(shù)據(jù)庫的各種操作。根據(jù)用戶請(qǐng)求生成動(dòng)態(tài)主頁的傳統(tǒng)方法有CGI(即通用網(wǎng)關(guān)接口)、ISAP(即微軟Internet服務(wù)器應(yīng)用編程接口)等。CGI的原理是根據(jù)瀏覽器端的HTTP請(qǐng)求激活響應(yīng)進(jìn)程,每一個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)進(jìn)程。當(dāng)同時(shí)有很多請(qǐng)求時(shí),程序擠占系統(tǒng)資源,造成效率低下;ISAPI針對(duì)這一缺點(diǎn)進(jìn)行了改進(jìn),利用DLL(即動(dòng)態(tài)鏈接庫)技術(shù),以線程代替進(jìn)程,提高性能和速度,但需考慮線程的同步問題。另外,無論是CGI程序還是ISAPI程序都基本上是獨(dú)立于HTML的,完全用另一種語言開發(fā),工作量大,與HTML結(jié)合得不夠緊密。這兩種技術(shù)和另一普遍使用的開發(fā)動(dòng)態(tài)網(wǎng)頁的技術(shù)Java都還存在著一個(gè)問題,那就是開發(fā)困難,程序的開發(fā)和HTML寫作是兩個(gè)完全不同的過程,需要專門的程序員開發(fā)。為了滿足對(duì)動(dòng)態(tài)網(wǎng)頁開發(fā)的需要,微軟公司于1996年11月推出的Web應(yīng)用程序開發(fā)技術(shù)——ASP(ActiveServerPages,即活動(dòng)服務(wù)器頁面)。它實(shí)際上是對(duì)IIS2.0的IDC(即Internet數(shù)據(jù)庫連接器)技術(shù)的升級(jí),不同的是它將VBScript腳本語言嵌入了HTML,完全具備開發(fā)復(fù)雜應(yīng)用的語言環(huán)境。微軟聲稱設(shè)計(jì)出了一個(gè)完美的Active平臺(tái),在微軟的文件中把ASP描述為:“一個(gè)服務(wù)器的腳本環(huán)境,在這里可以生成和運(yùn)行動(dòng)態(tài)的、交互的、高性能的Web服務(wù)器應(yīng)用程序”。2.1.2什么是ASP
從描述中可以看出,ASP既不是一種語言,也不是一種開發(fā)工具,而是一種技術(shù)框架,它能夠把HTML、腳本、組件等有機(jī)地組合在一起,形成一個(gè)能夠在服務(wù)器上運(yùn)行的應(yīng)用程序,并把按用戶要求專門制作的標(biāo)準(zhǔn)HTML頁面回送給客戶端瀏覽器。其主要功是為生成動(dòng)態(tài)的交互式的Web服務(wù)器應(yīng)用程序提供一種功能強(qiáng)大的方法或技術(shù)。
ASP是一個(gè)Web服務(wù)器端開發(fā)環(huán)境,屬于ActiveX技術(shù)中的服務(wù)器端技術(shù),與在客戶端實(shí)現(xiàn)動(dòng)態(tài)主頁的技術(shù)如Javaapplet、ActiveXControl、VBScript、JavaScript等所不同的是,ASP中的命令腳本語句都是在服務(wù)器中解釋執(zhí)行,執(zhí)行后將結(jié)果轉(zhuǎn)化成動(dòng)態(tài)的Web頁面,并把標(biāo)準(zhǔn)的HTML格式的數(shù)據(jù)流送到瀏覽器。另外,ASP也具有很好的安全性。同時(shí),由于它在服務(wù)器端執(zhí)行,所以不必?fù)?dān)心別人是否能下載程序而竊取編程邏輯,訪問者除了瀏覽器上的HTML界面,什么也看不見。保護(hù)了開發(fā)者的利益。另外,ASP還提供了豐富的組件和對(duì)象,可以使用第三方控件來完成復(fù)雜的功能。ASP通過擴(kuò)展名為.asp的文件來實(shí)現(xiàn)。一個(gè)ASP程序相當(dāng)于一個(gè)可執(zhí)行文件,必須放在Web服務(wù)器上有可執(zhí)行權(quán)限的目錄下。當(dāng)瀏覽器向Web服務(wù)器請(qǐng)求調(diào)用ASP文件時(shí),就啟動(dòng)了ASP,Web服務(wù)器開始調(diào)用ASP,將被請(qǐng)求的.asp文件從頭讀到尾,執(zhí)行每一個(gè)命令,然后動(dòng)態(tài)生成一個(gè)HTML頁面并送回到瀏覽器。通常,一個(gè)ASP有如下四個(gè)重要特征:(1)可以包括服務(wù)端腳本。通過腳本的使用,可以使網(wǎng)站“動(dòng)”起來,成為真正的和用戶交互的網(wǎng)站。(2)提供了一些內(nèi)建對(duì)象。利用對(duì)象,通過簡單的編程就能獲得功能強(qiáng)大的腳本。(3)可以用另外的組件來擴(kuò)展。在ASP中,本身就提供了相當(dāng)數(shù)量的標(biāo)準(zhǔn)服務(wù)端ActiveX組件,這些組件提供如依據(jù)瀏覽器進(jìn)行不同顯示以及在瀏覽器內(nèi)包含計(jì)數(shù)器的功能。可以輕松地使用這些組件來完成很復(fù)雜的工作。另外還可以使用各種第三方控件來增強(qiáng)網(wǎng)頁的功能。(4)ASP可以對(duì)諸如SQLServer這樣的數(shù)據(jù)庫進(jìn)行訪問。利用一些特定的對(duì)象集合,如ActiveDataObiect(ADO),就可以在ASP中使用SQL語言來對(duì)數(shù)據(jù)庫進(jìn)行操作??偠灾?,ASP是網(wǎng)頁開發(fā)技術(shù)中最容易學(xué)習(xí)、靈活性最大的開發(fā)工具之一,更重要的是ASP擁有非常大的可擴(kuò)充性。歸納起來,ASP具有以下特點(diǎn):(1)ASP可以和HTML或其它腳本語言(VBScript與JavaScript)相互嵌套。(2)無須編譯,容易編寫,在服務(wù)器端直接執(zhí)行。(3)ASP是一種在Web服務(wù)器端運(yùn)行的腳本語言,程序代碼完全保密。(4)ASP以對(duì)象為基礎(chǔ),可以使用ActiveX控件繼續(xù)擴(kuò)充其功能。(5)ASP內(nèi)置ADO組件,可以輕松地存取各種數(shù)據(jù)庫,縮短程序的開發(fā)時(shí)間。(6)ASP可以將運(yùn)行結(jié)果以HTML的格式傳送到客戶端瀏覽器,適用于各種瀏覽器。ASP由于其簡單實(shí)用而受到網(wǎng)站開發(fā)人員的喜愛,再加上微軟的強(qiáng)有力支持,可以說是制作站點(diǎn)比較流行的語言之一。它借助微軟的Com+技術(shù),幾乎可以實(shí)現(xiàn)在CGI能夠?qū)崿F(xiàn)的所有功能,具有相當(dāng)?shù)母?jìng)爭力。但由于眾所周知的原因,ASP只能工作于微軟自己的操作系統(tǒng)平臺(tái)和服務(wù)器軟件之下,因而決定了ASP應(yīng)用的局限性。2.2ASP的工作方式上一節(jié)已經(jīng)簡單敘述了ASP的工作方式,即利用ASP可以根據(jù)用戶要求在Web服務(wù)器上建立動(dòng)態(tài)網(wǎng)頁,與IIS所支持的靜態(tài)網(wǎng)頁有著明顯的區(qū)別,其工作步驟描述如下:
(1)用戶在瀏覽器的地址欄添入ASP文件名稱,回車后即觸發(fā)這個(gè)ASP要求。
(2)瀏覽器將這個(gè)ASP的請(qǐng)求發(fā)送給IIS。(3)Web服務(wù)器接受這個(gè)請(qǐng)求并進(jìn)行分析,調(diào)入正確的ASP文件。(4)Web服務(wù)器將這個(gè)文件發(fā)送到一個(gè)叫做asp.dll的特定文件中。(5)Web服務(wù)器將被請(qǐng)求的.asp文件從頭讀到尾,執(zhí)行每一個(gè)命令,并生成相應(yīng)的動(dòng)態(tài)網(wǎng)頁。(6)回送這個(gè)動(dòng)態(tài)網(wǎng)頁,由用戶的瀏覽器解釋執(zhí)行并顯示出來。2.3Web服務(wù)器的安裝及配置
由于目前多采用Windows2000操作系統(tǒng),故此處以Windows2000為例說明Web服務(wù)器的安裝及配置,其它操作系統(tǒng)的安裝將在本書最后進(jìn)行簡要介紹。在安裝過程中,需要注意的是,采用默認(rèn)方式安裝Windows2000時(shí),系統(tǒng)已經(jīng)安裝了Web服務(wù)及其它服務(wù)(出于系統(tǒng)安全性的考慮,在此作者建議盡量不要采用默認(rèn)安裝方式,并且只安裝你將要使用的那些程序)。
如果尚未安裝,則可使用“控制面板”中的“添加/刪除程序”來安裝IIS里的Web服務(wù)。同時(shí),為了網(wǎng)站的安全,請(qǐng)及時(shí)訪問微軟的官方網(wǎng)站下載并安裝有關(guān)補(bǔ)丁程序。如果采用其它的Web服務(wù)器軟件,如Apache軟件,安裝時(shí)請(qǐng)按照安裝說明進(jìn)行安裝和配置。2.3.1IIS的配置默認(rèn)情況下,IIS將它的根目錄設(shè)置到C:\Inetpub\wwwroot下,在開始菜單中選“程序→管理工具→Internet服務(wù)管理器→Internet信息服務(wù)→myWeb(服務(wù)器名)→默認(rèn)Web站點(diǎn)→屬性”,如圖2-1所示。在“Web站點(diǎn)”中,“IP地址”欄內(nèi)輸入或選擇一個(gè)有效的IP地址作為此站點(diǎn)的地址,如內(nèi)部網(wǎng)可用“”作為Web站點(diǎn)的IP地址,如圖2-2。圖2-1Internet信息服務(wù)圖2-2設(shè)置站點(diǎn)IP地址在“主目錄”的“本地路徑”中填寫:C:\Inetpub\wwwroot,或根據(jù)實(shí)際情況通過“瀏覽”選擇自己的Web服務(wù)目錄,如圖2-3。在“文檔”中,修改瀏覽器默認(rèn)調(diào)用的文件名及調(diào)用順序,如圖2-4。
圖2-3設(shè)置站點(diǎn)主目錄圖2-4設(shè)置默認(rèn)啟動(dòng)文檔2.3.2測(cè)試ASP
用“記事本”或熟悉的文本編輯軟件創(chuàng)建一個(gè)文件,并鍵入以下代碼:
<html> <head> <title>我的第一個(gè)ASP程序</title> </head> <body>
<% response.write("helloworld!") %> </body> </html>
將此文件命名為hello.asp,保存到站點(diǎn)主目錄內(nèi)。要訪問此ASP文件,只需在瀏覽器的地址欄中鍵入:http://localhost/hello.asp,如果一切正常,瀏覽器上將顯示出如圖2-5所示結(jié)果。
圖2-5第一個(gè)ASP程序運(yùn)行結(jié)果如果顯示不正確,則需要檢查IIS的配置及文件的訪問權(quán)限等,常見的錯(cuò)誤及解決辦法見表2-1。錯(cuò)誤信息錯(cuò)誤原因及解決方法無法與服務(wù)器建立連接Web服務(wù)器未啟動(dòng)或網(wǎng)絡(luò)出現(xiàn)故障。檢查IIS是否正常啟動(dòng)以及網(wǎng)絡(luò)是否正常。無法找到網(wǎng)頁指定位置不存在所要訪問的文件。檢查輸入的地址及文件名是否正確。禁止訪問未正確設(shè)置ASP所在目錄的訪問權(quán)限。改變?cè)撃夸浀臋?quán)限為“讀取及執(zhí)行”。表2-1ASP錯(cuò)誤信息及解決辦法本章小結(jié)本章簡要地介紹了ASP的產(chǎn)生、基本概念及ASP的應(yīng)用,詳細(xì)地講解了Web服務(wù)器的配置。正確配置IIS,是以后運(yùn)行ASP程序的前提條件。下一章將介紹ASP源程序主題語言——HTML,為以后編寫出高質(zhì)量的ASP應(yīng)用程序打下基礎(chǔ)。習(xí)
題1.什么是ASP?2.ASP的工作方式是怎樣的?3.簡述IIS的配置要點(diǎn)。4.編寫一個(gè)ASP程序,在屏幕上顯示“HelloWorld!”答
案
要
點(diǎn)(略)
HTML語言基礎(chǔ)
HTML(HyperTextMarkupLanguage,即超文本標(biāo)記語言)是一種用來制作超文本文檔的簡單標(biāo)記語言。用HTML編寫的超文本文檔稱為HTML文檔,它能獨(dú)立于各種操作系統(tǒng)平臺(tái)(如UNIX,WINDOWS等)。自1990年以來HTML就一直被用作WWW上的信息表述語言,用于描述網(wǎng)頁的格式設(shè)計(jì)和它與WWW上其它網(wǎng)頁的鏈接信息。
HTML文檔(即網(wǎng)頁的源文件)是一個(gè)放置了標(biāo)記的ASCII文本文件,通常它帶有.html或.htm的文件擴(kuò)展名。生成一個(gè)HTML文檔主要有以下三種途徑:
(1)手工直接編寫(例如用你所喜愛的ASCII文本編輯器或其它HTML的編輯工具)。(2)通過某些格式轉(zhuǎn)換工具將現(xiàn)有的其它格式文檔(如WORD文檔)轉(zhuǎn)換成HTML文檔。(3)借助專用制作工具軟件,如Frontpage、Dreamweaver等進(jìn)行設(shè)計(jì)與制作。HTML語言是通過利用各種標(biāo)記(tags)來標(biāo)識(shí)文檔的結(jié)構(gòu)以及標(biāo)識(shí)超鏈接(Hyperlink)信息的。雖然HTML語言描述了文檔的結(jié)構(gòu)格式,但并不能精確地定義文檔信息必須如何顯示和排列,而只是建議Web瀏覽器(如Mosiac,Netscape等)應(yīng)該如何顯示和排列這些信息,最終在用戶面前的顯示結(jié)果取決于Web瀏覽器本身的顯示風(fēng)格及其對(duì)標(biāo)記的解釋能力。這就是為什么同一文檔在不同的瀏覽器中展示的效果會(huì)不一樣的原因。3.1網(wǎng)頁設(shè)計(jì)基本原則
設(shè)計(jì)網(wǎng)頁如同編寫其它計(jì)算機(jī)程序一樣,需要一定的專業(yè)知識(shí)和基本技能,而且必須對(duì)設(shè)計(jì)環(huán)境有個(gè)明確的了解。在設(shè)計(jì)網(wǎng)頁的過程中,要清楚地了解網(wǎng)頁的閱讀對(duì)象,要對(duì)整個(gè)網(wǎng)絡(luò)文檔有統(tǒng)一的規(guī)劃。總體說來,要了解以下基本設(shè)計(jì)原則:
(1)正確分析網(wǎng)頁用戶的需要。(2)網(wǎng)頁下載時(shí)間不宜過長。注意網(wǎng)頁文件的大小,在50KB以內(nèi)為宜。(3)網(wǎng)頁的設(shè)計(jì)要做到在不同的環(huán)境下都能瀏覽。(4)注意網(wǎng)頁中的圖形設(shè)計(jì)。首先,圖形的文件大小要盡可能小,盡量使用GIF文件和JPG文件,不使用BMP文件。其次,每個(gè)圖形都要有相應(yīng)的替代文字,這使得用戶在關(guān)閉圖形顯示功能時(shí)能夠看到替代文字。(5)定期更新網(wǎng)頁內(nèi)容。每隔一定時(shí)間就對(duì)網(wǎng)頁內(nèi)容和版面設(shè)計(jì)進(jìn)行較大幅度的更新,從而吸引訪問者的注意力。這不失為增加來訪次數(shù)的好方法。(6)注意網(wǎng)站內(nèi)容的搭配。在首頁中盡量使之美觀大方,直觀又豐富。其它網(wǎng)頁要與首頁有很好的搭配效果。(7)考慮不支持某些功能的瀏覽器。隨著網(wǎng)頁設(shè)計(jì)技術(shù)的不斷進(jìn)步,在網(wǎng)頁中經(jīng)常會(huì)使用一些特殊的技術(shù),使得網(wǎng)頁的功能更加豐富,看起來也更加美觀。但是不可排除一些用戶使用過時(shí)的瀏覽器瀏覽這些網(wǎng)頁,這就需要為這些特殊的功能部分添加替代性文字,避免誤將程序代碼顯示出來。(8)對(duì)多媒體文件實(shí)施有限的限制。盡管網(wǎng)絡(luò)多媒體技術(shù)有了很大的發(fā)展,但由于網(wǎng)絡(luò)速度的限制,就要求一個(gè)網(wǎng)頁設(shè)計(jì)者在設(shè)計(jì)網(wǎng)頁時(shí)要充分考慮到所添加多媒體部分的大小和必要性。3.2HTML語言的結(jié)構(gòu)
從結(jié)構(gòu)上講,HTML文件由元素(element)組成。組成HTML文件的元素有許多,用于組織文件的內(nèi)容和指導(dǎo)文件的輸出格式。絕大多數(shù)元素是“容器”,即它有起始標(biāo)記和結(jié)尾標(biāo)記。元素的起始標(biāo)記叫做起始標(biāo)記(starttag)。元素結(jié)束標(biāo)記叫做結(jié)尾標(biāo)記(endtag)。在起始標(biāo)記和結(jié)尾標(biāo)記中間的部分是元素體。每一個(gè)元素都有名稱和可選擇的屬性,元素的名稱和屬性都在起始標(biāo)記內(nèi)標(biāo)明。比如體元素(body):
<bodybackgroud="background.gif"><h2>示例</h2>這是一個(gè)示例<p></body>第一行是體元素的起始標(biāo)記,它標(biāo)明體元素從此開始。由于所有的標(biāo)記都具有相同的結(jié)構(gòu),因此仔細(xì)分析這個(gè)標(biāo)記的各個(gè)部分,就能對(duì)標(biāo)記的寫法有一個(gè)大概了解。<起始標(biāo)記開始
body元素名稱,由于元素和標(biāo)記一一對(duì)應(yīng),所以元素名也叫標(biāo)記名。注意:<和body之間不能有空格。元素名稱不分大小寫。
background屬性名。一個(gè)元素可以有多個(gè)屬性,屬性及其屬性值不分大小寫。
background.gif屬性值。表示用
background.gif文件來填充背景。屬性名、=、屬性值三者合起來構(gòu)成一個(gè)完整的屬性,一個(gè)元素可以有多個(gè)屬性,各個(gè)屬性用空格分開。
>起始鏈接鏈結(jié)束。第二行和第三行是body元素的元素體,最后一行是body元素的結(jié)尾標(biāo)記。結(jié)尾標(biāo)記用</開始,隨后是元素名,然后是大于號(hào)>。
從上面的例子中可以看出,一個(gè)元素的元素體內(nèi)可以有另外的元素。實(shí)際上,html文件僅由一個(gè)html元素組成,即文件以<html>開始,以</html>結(jié)尾,文件其它部分都是html的元素體。html元素的元素體由兩大部分,即頭元素<head>…</head>和體元<body>…</body>和一些注釋組成。頭元素和體元素的元素體又由其它的元素和文本及注釋組成。也就是說,一個(gè)HTML文件應(yīng)具有下面的結(jié)構(gòu):
<html>html文件開始<head> 文件頭開始文件頭</head> 文件頭結(jié)束<body> 文件體開始文件體</body> 文件體結(jié)束</html> HTML文件結(jié)束需要說明的是,HTML是一門發(fā)展很快的語言,因而現(xiàn)在流行的瀏覽器為保持對(duì)早期HTML文件的兼容性,也支持不按上述結(jié)構(gòu)編寫HTML文件。還需要說明的是,各種瀏覽器對(duì)HTML元素及其屬性的解釋也不完全一樣。一般來講,HTML的元素有下列三種表示方法:<元素名>文件或超文本</元素名>。<元素名屬性名=“屬性值…”>文本或超文本</元素名>。<元素名>
第三種寫法僅用于一些特殊的元素,例如分段元素P,它僅僅通知WWW瀏覽器在此處分段,因而不需要界定作用范圍,所以它沒有結(jié)尾標(biāo)記。HTML3.0標(biāo)準(zhǔn)中,也定義了</p>標(biāo)記,它用于需要界定作用范圍的段落,比如增加對(duì)齊方式屬性的段落。在HTML文件中,有些元素只能出現(xiàn)在頭元素中,絕大多數(shù)元素只能出現(xiàn)在體元素中。在頭元素中的元素表示的是該HTML文件的一般信息,比如文件名稱、是否可檢索等等。這些元素書寫的次序是無關(guān)緊要的,它只表明該HTML有沒有該屬性。與此相反,出現(xiàn)在體元素中的元素是次序敏感的,改變?cè)卦贖TML文件中的次序會(huì)改變?cè)揌TML文件的輸出形式。3.3構(gòu)成網(wǎng)頁的基本元素3.3.1題目(title)title元素是文件頭中唯一一個(gè)必須出現(xiàn)的元素,它也只能出現(xiàn)在文件頭中。title元素的格式為:<title>題目</title>題目:標(biāo)明該HTML文件的題目,是對(duì)文件內(nèi)容的概括。文件的題目一般不會(huì)顯示在文本窗口中,而以窗口的名稱顯示出來。除了標(biāo)識(shí)窗口外,當(dāng)將某一網(wǎng)頁存入書簽或文件時(shí),題目還用作書簽名或缺省的文件名。<html><title>一個(gè)簡單的html文件</title>這是我的第一個(gè)html文件。</html>雖然題目的長度沒有限制,但過長的題目會(huì)導(dǎo)致折行,一般情況下它的長度不應(yīng)超過64個(gè)字符。由于題目的作用是標(biāo)明文件內(nèi)容,所以太短的題目也是不可取的。在頭元素中還可以出現(xiàn)其它元素,如<isindex>,<meta>等等,這些元素都不是必須的,而且也不常用。具體用法及含義可以參考有關(guān)書籍。下面是一個(gè)最簡單的HTML文件:3.3.2標(biāo)題(hn)標(biāo)題標(biāo)簽用于顯示HTML文件的各級(jí)標(biāo)題,格式為:<Hn>標(biāo)題內(nèi)容</Hn>其中n為1-6之間的整數(shù),其值越大,字越?。簿褪钦f第一級(jí)標(biāo)題(H1)字最大,第六級(jí)(H6)最小。標(biāo)題內(nèi)容用黑體字顯示,各行之間自動(dòng)插入空行。<H4>多用作文本正文;H6字體最小(幾乎不用)。<H1>至<H3>比一般正文字體大,而<H5>至<H6>比一般正文字體小。由于標(biāo)題標(biāo)簽具有段落屬性,這就使得一個(gè)段落內(nèi)不能使用兩種標(biāo)題標(biāo)簽。圖3-1給出了由下面代碼產(chǎn)生的屏幕效果。<html><head><title>標(biāo)題示例</title></Head><body> <h1>一級(jí)標(biāo)題是這樣的</h1> <h2>二級(jí)標(biāo)題是這樣的</h2> <h3>三級(jí)標(biāo)題是這樣的</h3> <h4>四級(jí)標(biāo)題是這樣的</h4> <h5>五級(jí)標(biāo)題是這樣的</h5> <h6>六級(jí)標(biāo)題是這樣的</h6></body></html>圖3-1hn的屏幕輸出結(jié)果3.3.3分段<P>
HTML的瀏覽器是基于窗口的,用戶可以隨時(shí)改變顯示區(qū)的大小,所以HTML將多個(gè)空格以及回車看成一個(gè)空格,這是和絕大多數(shù)字處理器不同的。HTML的分段依賴于分段元素<P>。<P>也有多種屬性,比較常用的屬性是:align=##可以是left,center,right,其含義同上文。例如:<palign=center>段落居中</p>當(dāng)HTML文件中有圖形時(shí),圖形可能占據(jù)了窗口的一端,圖形的周圍可能有較大的空白區(qū)。這時(shí),不帶clear屬性的<P>可能會(huì)使文章的內(nèi)容顯示在該空白區(qū)內(nèi)。為確保下一段內(nèi)容顯示在圖形的下方,可使用clear屬性。clear屬性的含義為:clear=left下一段顯示在左邊界處空白的區(qū)域。clear=right下一段顯示在右邊界處空白的區(qū)域。clear=all下一段的左右兩邊都不許有別的內(nèi)容。3.3.4清單List清單用于列舉事實(shí)。常用的清單有3種格式,即無序清單(unorderedList),有序清單(orderedlist)和定義清單(definitionlist)。1.無序清單(ul)無序清單用(ul,此處的l不是數(shù)字1)開始,每一個(gè)清單條目用<li>引導(dǎo),最后是</ul>。注意清單條目不需要結(jié)尾標(biāo)記</li>。輸出時(shí)每一清單條目縮進(jìn),并且以圈點(diǎn)標(biāo)示。例如:<ul><li>今天<li>明天</ul>輸出為:○今天○明天2.有序清單<ol>有序清單與無序清單相比,只是在輸出時(shí)清單條目用數(shù)字標(biāo)示,下面是一個(gè)例子及其輸出。<ol><li>今天<li>明天</ol>輸出為:1.今天2.明天
3.定義清單<dl>定義清單用于對(duì)清單條目進(jìn)行簡短說明的場(chǎng)合,用<dl>開始,清單條目用<dt>引導(dǎo),它的說明用<dd>引導(dǎo)。<dl><dt>條目1<dd>條目1的定義<dt>條目2<dd>條目2的定義</dl>輸出為:條目1條目1的定義條目2條目2的定義3.3.5居中很多元素都有對(duì)齊方式屬性,如hn、p等。也可以直接用居中標(biāo)記<center>…</center>:圖3-2
對(duì)齊方式示例
<h3align=center>今天的</h3><center>天氣真好!?。?lt;/center>輸出結(jié)果如圖3-2所示。3.4超文本鏈接指針超文本鏈接指針是html最吸引人的優(yōu)點(diǎn)之一。使用超文本鏈接指針可以使順序存放的文件具有一定程度上隨機(jī)訪問的能力,更加符合人的思維方式。組織得好的鏈接指針不僅能使讀者跳過不感興趣的章節(jié),而且有助于更好地理解作者的意圖。一個(gè)超文本鏈接指針由兩部分組成:一部分是被指向的目標(biāo),它可以是同一文件的另一部分,也可以是世界另一端的一個(gè)文件,還可以是動(dòng)畫或音樂;另一部分是指向目標(biāo)的鏈接指針。3.4.1統(tǒng)一資源定位器URL統(tǒng)一資源定位器URL(UiformResourceLocator)是文件名的擴(kuò)展。在單機(jī)系統(tǒng)中,定位一個(gè)文件需要路徑和文件名,對(duì)于遍布全球的Internet網(wǎng),顯然還需要知道文件存放在哪個(gè)網(wǎng)絡(luò)的哪臺(tái)主機(jī)中才行。與單機(jī)系統(tǒng)不一樣的是在單機(jī)系統(tǒng)中,所有的文件都由統(tǒng)一的操作系統(tǒng)管理,因而不必給出訪問該文件的方法;而在Internet上,各個(gè)網(wǎng)絡(luò)、各個(gè)主機(jī)的操作系統(tǒng)可能不一樣,因此必須指定訪問該文件的方法。一個(gè)URL包括了以上所有的信息。它的構(gòu)成為:protocol://[:port]/directory/filename其中,protocol是訪問該資源所采用的協(xié)議,即訪問該資源的方法,它可以是:http:超文本傳輸協(xié)議,該資源是html文件。file:文件傳輸協(xié)議,用ftp訪問該資源。ftp:文件傳輸協(xié)議,用ftp訪問該資源。news:表明該資源是網(wǎng)絡(luò)新聞組。:是存放該資源主機(jī)的IP地址,通常以字符形式出現(xiàn),如port端口號(hào):是服務(wù)器在該主機(jī)所使用的端口號(hào)。一般情況下端口號(hào)不需指定。只有當(dāng)服務(wù)器所使用的端口號(hào)不是缺省的端口號(hào)時(shí)才指定,例如WWW服務(wù)默認(rèn)情況下采用的端口號(hào)為80,如果設(shè)置了其它的端口號(hào),訪問時(shí)必須加上端口號(hào)。directory和filename:該資源的路徑和文件名.一個(gè)典型的URL為:它表示中國教育和科研計(jì)算機(jī)網(wǎng)WWW服務(wù)器上的起始html文件。(文件具體存放的路徑及文件名取決于該WWW服務(wù)器的配置情況)。與單機(jī)系統(tǒng)絕對(duì)路徑、相對(duì)路徑的概念類似,統(tǒng)一資源定位器也有絕對(duì)URL和相對(duì)URL之分。前面所述的是絕對(duì)URL。相對(duì)URL是相對(duì)于最近訪問的URL。比如你正在瀏覽一個(gè)URL為/index.html的文件,如果想看同一個(gè)目錄下的另一個(gè)文件如/news.html,就可以直接使用news.html,這時(shí)news.html就是一個(gè)相對(duì)URL,它的絕對(duì)URL為/news.html
3.4.2指向一個(gè)目標(biāo)<a>
在html文件中可用鏈接指針指向一個(gè)目標(biāo)。其基本格式為:<ahref="url">字符串</a>href屬性中的url是被指向的目標(biāo),隨后的“字符串”在html文件中充當(dāng)指針的角色,它一般顯示為藍(lán)色,也可以定義成其它顏色。當(dāng)用戶用鼠標(biāo)點(diǎn)擊這個(gè)字符串時(shí),瀏覽器就會(huì)將url處的資源顯示在屏幕上。
在編寫html文件時(shí),需要知道目標(biāo)的url。如何才能得到目標(biāo)的url呢?對(duì)于自己主機(jī)內(nèi)的文件,它的url可以根據(jù)該文件的實(shí)際情況決定。對(duì)于Internet上的資源,在用瀏覽器觀看時(shí),它的url會(huì)在瀏覽器的“地址欄”中顯示出來,把它抄下來寫到html文件中即可。此外,編寫html文件時(shí),對(duì)有可能確定關(guān)系的一組資源(比如在同一個(gè)目錄中)應(yīng)采用相對(duì)url,
這不僅可以簡化html文件,而且便于維護(hù)。比如當(dāng)需要將某個(gè)目錄整個(gè)搬到另外一個(gè)地方或把某一主機(jī)的資源移到另一臺(tái)主機(jī)時(shí),用相對(duì)url寫的html文件不用更新其中的url。但如果用絕對(duì)url編寫html文件,那么就逐個(gè)修改每個(gè)鏈接指針中的url。若各個(gè)資源之間沒有固定的關(guān)系,這時(shí)就只能用絕對(duì)url了。3.4.3標(biāo)記一個(gè)目標(biāo)上面提到的鏈接指針可以使讀者在整個(gè)Internet網(wǎng)上方便地鏈接。但如果編寫了一個(gè)很長的html文件,怎么能在同一文件的不同部分之間也建立起鏈接,使用戶方便地在上下方之間跳轉(zhuǎn)呢?前面提到一個(gè)超文本鏈接指針包括兩個(gè)部分:一是指向目標(biāo)的鏈接指針,二是被指向的目標(biāo)。對(duì)于一個(gè)完整的文件,可以用它的url來唯一地標(biāo)識(shí)它,但對(duì)于同一文件的不同部分,怎樣來標(biāo)識(shí)呢?下面的內(nèi)容將介紹鏈接指針元素的另外的一個(gè)用途:標(biāo)識(shí)目標(biāo)。標(biāo)識(shí)一個(gè)目標(biāo)的方法為:<aname="name">text</a>name屬性將放置該標(biāo)記的地方標(biāo)記為“name”,name是一個(gè)全文唯一的標(biāo)記串,text部分可有可無。這樣,就把放置標(biāo)記的地方做了一個(gè)叫做“name”的標(biāo)記。做好標(biāo)記后,可以用下列方法來指向它:<ahref="url#name">text</a>url是放置標(biāo)記的html文件的urlname是標(biāo)記名。對(duì)于同一個(gè)文件,可以寫為:<ahref="#name">text</a>這時(shí)就可以點(diǎn)取text跳轉(zhuǎn)到標(biāo)記名為name的部分了。3.4.4目標(biāo)窗口如果希望被指向的目標(biāo)在一個(gè)新的窗口中顯示,可以使用target屬性來修飾鏈接指針元素。如:<ahref="url"target="window-name">text</a>可將url代表的資源顯示在一個(gè)新的窗口中,該窗口的名字叫window-name,它可以是本窗口(_self)、父窗口(_parent)、新窗口(_blank)及整個(gè)瀏覽器窗口(_top)。
3.4.5圖像鏈接指針圖像也可以做為鏈接指針。格式為:<ahref="url"><imgsrc="url"></a>可以看出,上例中用<imgsrc="url">取代了鏈接指針中text的位置。<imgsrc="url">是圖像元素,它表明顯示url代表的圖像文件。下面是一個(gè)簡單的圖像鏈接指針。<ahref="">中國教育和科研計(jì)算機(jī)網(wǎng)<imgsrc="edu.gif"></a>3.4.6圖像地圖(imagemap)上面介紹的圖像鏈接指針每幅圖只能指向一個(gè)地點(diǎn),而圖像地圖可以把圖像分成多個(gè)區(qū)域,每個(gè)區(qū)域指向不同的地點(diǎn)。這樣,就可以用圖像地圖編寫出很漂亮的html文件。使用圖像地圖稍微復(fù)雜一點(diǎn)。圖像地圖不僅需要在html文件中說明,它還需要一個(gè)后綴為.map的文件,用來說明圖像分區(qū)及其指向的url的信息。在.map文件中說明分區(qū)信息的格式如下:rect url左上角坐標(biāo),右下角坐標(biāo)poly url各頂點(diǎn)坐標(biāo)circleurl直徑兩端點(diǎn)坐標(biāo)defaulturlrect指定一個(gè)矩形區(qū)域,該區(qū)域的位置由左上角坐標(biāo)和右下角坐標(biāo)說明。poly指定一多邊形區(qū)域,該區(qū)域的位置由各頂點(diǎn)坐標(biāo)說明。circle指定一圓形區(qū)域,該區(qū)域的位置由垂直通過圓心的直徑與該圓的交點(diǎn)坐標(biāo)說明。default指定圖像地圖其它部分的url。坐標(biāo)的寫法為:x,y,各點(diǎn)坐標(biāo)之間用空格分開。下面是一個(gè)完整的說明文件:default:rect:140,20280,60poly:180,80200,140circle:80,14080,100圖像地圖需要一個(gè)特殊的處理程序imagemap。imagemap放在/cgi-bin中。在html文件中引用圖像地圖的格式為:<ahref="/cgi-bin/imagemap/mymap.map"><imgsrc="mymap.gif"ismap></a>可以看出這是一個(gè)包含圖像元素的鏈接指針元素。圖像元素指明用于圖像地圖的圖像的url,并用Ismap屬性說明。需要說明的是鏈接指針中的href屬性,它由兩部分組成:第一部分是/cgi-bin/imagemap,它指出用哪個(gè)程序來處理圖像地圖,必須原樣寫入;第二部分是圖形地圖的說明文件mymap.map。/cgi-bin/imagemap/mymap.map絕不表示mymap.map在/cgi-bin/imagemap目錄中。在netscape擴(kuò)展中,圖像地圖可以用一種比較簡化的方式來表示,這就是客戶端圖像地圖。用戶端地圖可以將圖像地圖的說明文件寫在html文件中,而且不需要另外的程序來處理。這就使html作者可以用同別的元素相一致的寫法來寫圖像地圖。用戶端圖像地圖的格式為:<imgsrc="url"usemap="#mymap">src="url"用于指定用作圖像地圖的圖像。usemap屬性指明這是客戶端圖像地圖。其中的“#mymap”是圖像文件說明部分的標(biāo)記名,瀏覽器尋找名字為mymap的<map>元素并從中得到圖像地圖的分區(qū)信息??蛻舳藞D像地圖的分區(qū)信息用<mapname=mapname>元素說明,name屬性命名<map>元素。圖像地圖的各個(gè)區(qū)域用<areashape="形狀"coords="坐標(biāo)"href="url">說明,形狀可以是:rect矩形,用左上角,右下角的坐標(biāo)表示,各個(gè)坐標(biāo)值之間用逗號(hào)分開;poly多邊形,用各頂點(diǎn)的坐標(biāo)值表示;circle圓形,用圓心及半徑表示,前兩個(gè)參數(shù)分別為圓心的橫、縱坐標(biāo),第三個(gè)參數(shù)為半徑。href="url",表示該區(qū)域所指向的資源的url,也可以是nohref,表示在該區(qū)域鼠標(biāo)點(diǎn)取無效。客戶端圖像地圖各個(gè)區(qū)域可以重疊,重疊區(qū)以先說明的條目為準(zhǔn),下面是一個(gè)例子:<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版面風(fēng)格控制使用HTML可以對(duì)Web頁面的版面進(jìn)行控制,比如字體大小、分行、畫線、背景和文本顏色等等。3.5.1字體1.字號(hào)html有七種字號(hào),1號(hào)最小,7號(hào)最大。默認(rèn)字號(hào)為3,可以用<fontsize=字號(hào)>來設(shè)置新的字號(hào)。設(shè)置文本的字號(hào)有兩種辦法:一種是設(shè)置絕對(duì)字號(hào),如<fontsize=字號(hào)>;另一種是設(shè)置文本的相對(duì)字號(hào),如<fontsize=±n>。用第二種方法時(shí)“+”號(hào)表示字體變大,“-”號(hào)表示字體變小。<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>輸出結(jié)果為:圖3-3不同字號(hào)的輸出結(jié)果
2.字體風(fēng)格字體風(fēng)格分為物理風(fēng)格和邏輯風(fēng)格。物理風(fēng)格直接指定字體,其字體有黑體<b>,斜體<i>,下劃線<u>,打字機(jī)體<tt>。邏輯風(fēng)格用于指定文本的作用。如:
<em>強(qiáng)調(diào)<srrony>特別強(qiáng)調(diào)<code>源代碼
<samp>例子<kbd>鍵盤輸入<var>變量<dfn>定義<cite>引用<small>較小<big>較大<sup>上標(biāo)<sup>下標(biāo)3.閃爍<blink>文本</blink>可使文本閃爍,閃爍頻率為1秒鐘一次。3.5.2橫線(hr)橫線,一般用于分隔同一文本的不同部分。在窗口中劃一條橫線非常簡單,只要寫一個(gè)<hr>即可。橫線的寬度用<hrsize=n>指定,n是線寬,單位是象素。例:<hrsize=10>。<hrwidth=#>指定橫線長度,既可以指定絕對(duì)線長,也可以指定橫線長度占窗口寬度的百分比。例<hrwidth=50>、<hrwidth=50%>。橫線的位置用<hralign=#>指定。#是left或right之一。left表示左端與左邊界對(duì)齊,right是右端與右邊界對(duì)齊。默認(rèn)時(shí),橫線出現(xiàn)在窗口中央。3.5.3行間圖像行間圖像可使網(wǎng)頁更加漂亮,但是過大的圖像會(huì)導(dǎo)致網(wǎng)絡(luò)通訊量急劇增大,延長訪問時(shí)間。所以在主頁上不宜采用很大的圖像。如果確實(shí)需要一些大圖像,最好在主頁中用一個(gè)縮小的圖像指向原圖,并標(biāo)明該圖的大小。這樣訪問者可以快速地訪問你的主頁,自己選擇看還是不看那些圖像。圖像的基本格式為:<imgsrc="image-url">或<imgsrc="image-urd"alt="text">image-url是圖像文件的url。目前,大部分瀏覽器支持.gif和.jpg文件,alt屬性告訴不支持圖像的瀏覽器用text代替該圖。圖像在窗口中會(huì)占據(jù)一塊空間,在圖像的左右可能會(huì)有空白,不加說明時(shí),瀏覽器將隨后的文本顯示在這些空白中,顯示的位置由align屬性指定。用align=left,right時(shí),圖像是一個(gè)浮動(dòng)圖像。比如align=left,圖像必須挨著左邊框,它把原來占據(jù)該塊空白的文本“擠走”,或擠到它右邊,或擠到它上下。文本與圖像的間距用vspace=#,hspace=#指定,#是整數(shù),單位是像素。前者指定縱向間距,后者指定橫向間距。3.5.4分行<br>和禁止分行<nobr><br>表示在此處分行,<nobr>…</nobr>將通知瀏覽器,其中的內(nèi)容在一行內(nèi)顯示,若一行內(nèi)顯示不了,則超出部分將被裁剪掉。<brclear=#>中的clear屬性標(biāo)明下一行的情況,如
clear=left,表示下一行從左邊界處開始。#可以是left、right、all之一。
3.5.5背影和文本顏色窗口背景可以用下列方法指定:<bodybackground="image-url"><bodybgcolor=#text=#link=#alink=#vlink=#>第一行指定的是填充背景的圖像,如果圖像的大小小于窗口大小,則把背景圖像重復(fù),直到填滿窗口區(qū)域。第二行指定的是16進(jìn)制的紅、綠、藍(lán)分量。bgcolor:背景顏色text:文本顏色link:鏈接指針顏色alink:活動(dòng)的鏈接指針顏色vlink:已訪問過的鏈接指針顏色例如:<bodybgcolor=FF0000>大紅背景色。
注意,此時(shí)體元素必須寫完整,即用<body>結(jié)束。3.5.6轉(zhuǎn)義字將與特殊字符html中<、>及&字符有特殊含義,(前兩個(gè)字符用于鏈接簽,&用于轉(zhuǎn)義),不能直接使用。要使用這三個(gè)字符,必須用它們的轉(zhuǎn)義序列。l
&的轉(zhuǎn)義序列為&s或&;l
<的轉(zhuǎn)義序列為<或<;l
>的轉(zhuǎn)義序列為>或>;前者為字符轉(zhuǎn)義序列,后者為數(shù)字轉(zhuǎn)義序列。例如:<font>顯示為<font>。若直接寫為<font>則會(huì)被認(rèn)為是一個(gè)鏈接簽。
需要說明的是:l
轉(zhuǎn)義序列各字符間不能有空格。l
轉(zhuǎn)義序列必須以“;”結(jié)束。l
單獨(dú)的&不被認(rèn)為是轉(zhuǎn)義開始。如“<”被解釋為“<”而不是“<”。另一個(gè)需要轉(zhuǎn)義的字符是引號(hào),它的轉(zhuǎn)義序列為“"”或“"”,例如<imgsrc="image.gif"alt="A&quol;real"example">html使用的字符集是ISO8859-1字符集,該字符集中有許多在標(biāo)準(zhǔn)鍵盤上無法輸入的字符。對(duì)這些特殊字符只能使用轉(zhuǎn)義序列。3.6表格(Table)3.6.1表格的基本形式一個(gè)表由<table>開始,</table>結(jié)束,表的內(nèi)容由<tr>、<th>和<td>定義。<tr>說明表的一個(gè)行,表有多少行就有多少個(gè)<tr>;<th>說明表的列數(shù)和相應(yīng)欄目的名稱,有多少個(gè)欄就有多少個(gè)<th>;<td>則填充由<tr>和<th>組成的表格。border屬性用來說明是否用表格線分開。3.6.2有通欄的表有橫向通欄的表用<thcolspan=#>屬性說明,colspan表示橫向欄距,#代表通欄占據(jù)的網(wǎng)格數(shù),它是一個(gè)小于表的橫向網(wǎng)格數(shù)的整數(shù)。有縱向通欄的表用<rowspan=#>屬性說明。rowspan表示縱向欄距,#表示通欄占據(jù)的網(wǎng)格數(shù),應(yīng)小于縱向網(wǎng)絡(luò)數(shù)。需要說明的是有縱向通欄的表,每一行必須用</tr>明確表示一橫向欄目結(jié)束,這是和表的基本形式不同的。
3.6.3表的大小、邊框?qū)挾燃氨砀耖g距表的大小用width=#和height=#屬性說明。前者為表寬,后者為表高,#是以像素為單位的整數(shù)。邊框?qū)挾扔蒪order=#說明,#為寬度值,單位是像素。表格間距即劃分表格的線的粗細(xì)用cellspacing=#表示,#的單位是像素。
3.6.4表中文本的輸出文本與表框的距離用cellpadding=#說明。表格的寬度大于其中的文本寬度時(shí),文本在其中的輸出位置用align=#說明。#是left,center和right三者之一,分別表示左對(duì)齊、居中和右對(duì)齊。align屬性
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司財(cái)務(wù)報(bào)銷制度及流程1
- 醫(yī)院出納年度工作總結(jié)范文
- 參與家鄉(xiāng)文化建設(shè)建議書范文(7篇)
- 體育會(huì)展業(yè)的供應(yīng)鏈優(yōu)化研究-洞察分析
- 微生物污染控制-第1篇-洞察分析
- 元宇宙藝術(shù)創(chuàng)作研究-洞察分析
- 游戲設(shè)計(jì)專業(yè)課程改革探索-洞察分析
- 虛擬現(xiàn)實(shí)技術(shù)在木材加工工藝分析中的應(yīng)用-洞察分析
- 移動(dòng)支付安全技術(shù)-洞察分析
- 微波背景輻射探測(cè)-洞察分析
- 閩2023-G-01先張法預(yù)應(yīng)力高強(qiáng)混凝土管樁DBJT13-95
- 《韓國的語言》課后答案
- 寵物醫(yī)療創(chuàng)新創(chuàng)業(yè)
- 報(bào)價(jià)單(產(chǎn)品報(bào)價(jià)單)
- 一種基于STM32的智能門鎖系統(tǒng)的設(shè)計(jì)-畢業(yè)論文
- 項(xiàng)目經(jīng)理及主要管理人員能力水平
- 工程倫理-工程案例分析
- 纜車合唱鋼琴伴奏譜
- 小學(xué)四年級(jí)上冊(cè)數(shù)學(xué)集體備課-記錄
- 前列腺增生課件
- 北京市2022-2023學(xué)年三年級(jí)上學(xué)期語文期末試卷(含答案)
評(píng)論
0/150
提交評(píng)論