HTML開發(fā)王

出版時間:2008-6  出版社:電子工業(yè)出版社  作者:張亞飛  頁數(shù):439  字數(shù):742400  
Tag標簽:無  

前言

  自從20世紀70年代因特網(wǎng)誕生以來,以WWW技術為支撐的萬維網(wǎng)近十多年來迅猛發(fā)展,滲透到社會生活的各個方面。從舊金山郊外的硅谷,到新竹日夜通明的半導體工廠,它正在改變著我們工作和生活的方式。.  全世界有3/4的人還從未接觸過因特網(wǎng),這也預示著我們這些正在從事與因特網(wǎng)相關工作的人員,以及即將從事此類工作的設計者、開發(fā)者都將有一個美好的明天?! ”仨氄莆盏娜f維網(wǎng)常識  用戶首先必須掌握萬維網(wǎng)的基本常識,這是萬維網(wǎng)的基本知識結構,也是“開發(fā)王”這套書所基于的基本理論基石和貫穿于始終的綱要。并且,這也不單單是一個知識結構的問題,其實任何的技術知識都是隨著技術本身的發(fā)展慢慢積累起來的,是技術不斷變化、不斷延伸的結果,所以知識結構往往也是一個怎樣正確認識技術發(fā)展史的問題。下面我們就來簡要介紹一下萬維網(wǎng)的技術簡史和萬維網(wǎng)的基本知識結構,這也是閱讀“開發(fā)王”這套書的基本前提?! WW也就是我們經(jīng)常提到的萬維網(wǎng),它是Internet上那些支持WWW和超文本傳輸協(xié)議(HTTP)的客戶機與服務器的集合,通過它可以存取世界各地的超文本文件,內容包括文字、圖形、聲音、動畫、資料庫,以及各式各樣的軟件等。  HTML是萬維網(wǎng)所基于的標準的格式化語言,它自從被發(fā)明以來就構成了整個萬維網(wǎng)設計和開發(fā)的核心,這也是我們每個從業(yè)人員都必須熟知于心、了然于胸的,它是我們從業(yè)于萬維網(wǎng)的基石。  鑒于HTML扮演的重要角色和萬維網(wǎng)不斷發(fā)展的客觀要求,我們需要不斷改進和細化它的功能——將結構、內容和樣式分離已是大勢所趨,這也是CSS(層疊樣式表)出現(xiàn)的原因。  在樣式表沒有出現(xiàn)之前,HTML用于呈現(xiàn)的功能實際肩負著兩種責任:一種是語義的呈現(xiàn),一種是表現(xiàn)形式的呈現(xiàn)。例如,b元素(英文bold的縮寫)既要表現(xiàn)加粗的語義,實際上還要用做呈現(xiàn)的標識?! 邮奖淼某霈F(xiàn)簡化了HTML語言并且減輕了HTML對表現(xiàn)形式的責任,它使設計者和用戶都可以控制文檔的表現(xiàn)形式,包括字體信息、對齊方式、顏色等?! TML和CSS一道構成了萬維網(wǎng)應用的客戶端基石,它們又被稱為萬維網(wǎng)應用程序的展示層。  萬維網(wǎng)在不斷前進,人們對于新功能的渴望也在不斷增強,而這些新功能理所應當能夠針對不同用戶的需求做出不同的響應,這也就是動態(tài)網(wǎng)頁技術層出不窮的原因?! ≡谶@個目標的驅使下,微軟創(chuàng)造了ASP技術,進而又創(chuàng)造了ASP.NET;SUN創(chuàng)造了Servlet,進而又創(chuàng)造了JSP;Adobe創(chuàng)造了ColdFusion;而萬維網(wǎng)的技術社區(qū)會聚著不計其數(shù)的開發(fā)者,他們中的杰出者創(chuàng)造了PHP并使之成為流行的動態(tài)網(wǎng)頁開發(fā)技術?! ∵@些動態(tài)網(wǎng)頁技術可以針對用戶的不同請求做出不同的響應?!罢埱?響應”正是萬維網(wǎng)應用程序的基本模式(不管是靜態(tài)網(wǎng)頁還是動態(tài)網(wǎng)頁)。不同的動態(tài)網(wǎng)頁開發(fā)技術有不同的對應于“請求/響應”的語言特點,但它們也都有共同的實現(xiàn)特點,那就是針對請求生成不同的HTML網(wǎng)頁,并把它傳遞到用戶的客戶端軟件中。正如你經(jīng)常用到的那樣,這個客戶端軟件被稱為“瀏覽器”?! ∮捎趧討B(tài)網(wǎng)頁總是位于服務器上,而它生成的HTML網(wǎng)頁又總是被瀏覽器瀏覽,所以這個開發(fā)經(jīng)常被描述成B/S,也就是Browser(瀏覽器)和Server(服務器)的縮寫?! ∷械幕赪WW技術的動態(tài)網(wǎng)頁技術都會生成HTML網(wǎng)頁(網(wǎng)頁中也許會包含樣式表,也有可能僅僅是裸數(shù)據(jù)而不包含HTML標簽),這也是為何你會看到不同的動態(tài)網(wǎng)頁技術卻可以創(chuàng)建同樣呈現(xiàn)結果的根本原因?! ⊥瑯?,在客戶端瀏覽器中你也看不到動態(tài)網(wǎng)頁的源代碼,因為這些源代碼在服務器上就已經(jīng)被解釋、執(zhí)行,最后被轉化成HTML格式的代碼并被傳遞到客戶端。這些網(wǎng)頁之所以被稱為動態(tài)網(wǎng)頁,也正是因為它們能夠根據(jù)不同的請求生成不同的HTML網(wǎng)頁,這個作為結果的HTML網(wǎng)頁是“動態(tài)”產(chǎn)生的?! ∵@些動態(tài)網(wǎng)頁技術和支持它們的底層技術一道也被稱為中間件,它們構成了網(wǎng)絡應用的中間層。由于這個中間層包含了用于分析用戶不同請求,并對不同請求做出不同響應的業(yè)務邏輯代碼,因此,這個層又被稱為業(yè)務邏輯層?! ∥挥跇I(yè)務邏輯層之下的是數(shù)據(jù)服務層,用戶請求所要獲取的數(shù)據(jù)從這里被“篩選”出來,并經(jīng)過業(yè)務邏輯層被發(fā)送到客戶端—它們被包含在HTML文件中?! 〕鲇谌藗儗?shù)據(jù)海量存儲和便于查詢訪問的渴望,推動著整個數(shù)據(jù)服務產(chǎn)業(yè)的發(fā)展,關系數(shù)據(jù)庫(Relational Database)憑借其自身的特點從它被發(fā)明那天起就成為整個數(shù)據(jù)服務產(chǎn)業(yè)的核心。Oracle也正是憑借其著名的關系數(shù)據(jù)庫產(chǎn)品Oracle 9i成為軟件產(chǎn)業(yè)中僅次于微軟的軟件巨擘。IBM DB2、微軟SQL Server和開源的MySQL也都是關系數(shù)據(jù)庫產(chǎn)品中的佼佼者?! 《④汷ffice產(chǎn)品組中的Access以其高智能、輕量化和簡單易用性的特點在辦公自動化軟件(OA)領域內廣泛應用,它也是很多開發(fā)人員學習數(shù)據(jù)庫開發(fā)的極佳入門工具?!   ?數(shù)據(jù)服務層不僅僅是數(shù)據(jù)庫,而且還包含了其他可以用做數(shù)據(jù)的資源,例如XML。XML已經(jīng)成為因特網(wǎng)間標準的數(shù)據(jù)交換格式,它也正在成為數(shù)據(jù)存儲的標準格式?! ≌故緦?、業(yè)務邏輯層、數(shù)據(jù)服務層構成了當前萬維網(wǎng)應用程序的基礎架構,它們也被統(tǒng)稱為“三層架構”?! 嶋H上你不得不了解它,它是進行萬維網(wǎng)應用程序開發(fā)的認識論基石,也是實踐的指南針。設想存在一個不遵守該指南的萬維網(wǎng)應用程序是不可能的,同樣,設想任何不了解該指南而進行的萬維網(wǎng)應用程序開發(fā)也是近似荒謬的。  在“開發(fā)王”系列圖書中,我們針對不同的萬維網(wǎng)技術,對三層架構做了精確的、同一的闡述,這是你在全球其他任何地方都無法完整系統(tǒng)地獲得的。不管你愿不愿意承認,你永遠都無法擺脫它。  在萬維網(wǎng)軟件開發(fā)日益區(qū)分為涇渭分明的三層架構后,市場和技術并未停止它們前進的步伐,它們依舊在不斷地向前延伸。在技術廠商的推動下,在萬維網(wǎng)的技術社區(qū)的遙相呼應下,三層架構中的每個層次都為了某些特殊的應用不斷向其鄰近的層次延伸,首當其沖的便是展示層向邏輯層的滲透?! ≌故緦永每蛻舳四_本和瀏覽器插件技術開始分擔業(yè)務邏輯層的部分運算,而且,它們還有一個響亮的名字,被稱為“富客戶端”?! avaScript、Flash和Java Applet目前是實現(xiàn)展示層分擔業(yè)務邏輯層運算的主要軟件技術。JavaScript因為AJAX解決方案和DHTML解決方案的結合而“重獲”新生,而Flash憑借其分布廣泛的Flash Player插件及高效的開發(fā)環(huán)境而正日益成為下一代萬維網(wǎng)客戶端運算的核心。與此形成鮮明對比的是Java Applet技術,因為其開發(fā)的難度極高,以及其客戶端運行環(huán)境自身的原因,從其誕生那天起就從未引人注目過,今天,它依然被擱置在某個角落?! ≌缒阍凇伴_發(fā)王”系列圖書中所看到的那樣,我們已經(jīng)將JavaScript、Flash技術完全融入到整個萬維網(wǎng)開發(fā)體系中,現(xiàn)在你理應將它們視為一個整體,而不是再孤立地去看待它們中的任何一個?! ⊥暾到y(tǒng)的萬維網(wǎng)知識體系能為你帶來什么  是的,這個問題是每一個開發(fā)者、雇主、任課教師和學員所關心的,而且,很顯然,每個用戶理應關心。實際上,每一個人都應該問自己這樣一個問題。..  用戶還會問:你為何為該套書起名為“開發(fā)王”?它(的內容)真的如描述的那么好嗎?  這真的很直截了當,而且我本人也喜歡直截了當。當然,每一個開發(fā)者也都有權利這樣提問,而我也正想在這里為大家分享這個問題的答案?! ∵@本書為何被冠以“王”  每本圖書都可能會被冠以“王”這樣的詞匯,以表明這本書是多么偉大,但是并非所有圖書都能名副其實?! ∽鳛檫@套書的作者,我的眼中只有“王”—這就是我的回答,并且,毫不猶豫?! ‘斎唬钦邚牟幌嘈判趴诙鴣?,每一個讀者理應都是智者,而唯一值得相信的理應是事實。  這套書從最初的準備,到今天的出版,前后經(jīng)過長達6年的時間,前后經(jīng)過了數(shù)以千計次大小修改。你現(xiàn)在看到的這個序言我也寫了二三年時間,序言的目標就是做到“增一字嫌冗余,減一字則無從下手”。  寫作的過程是漫長而痛苦的(偶爾也會有快樂),出版的歷程也是如此。如果作者想出版一本書,就必須首先給出版機構一個策劃書—也就是這本書的基本情況和設想?! ∶恳粋€作者都會想該如何打動出版機構出版它,這是毫無疑問的?! ∧愕每嗨稼は搿 〉珜嶋H上,這很簡單,你必須告訴他們這本書是最棒的,我想,除此之外別無他法?! ∪绻麤]有證據(jù),我想你也根本不會相信,更何況那些“眼疾手快”的編輯呢?  當然,那是因為我給他們提供了充足可信的證據(jù)。如果你有某個事實作為證據(jù),我想你也可以這樣做,讓我們來看一個簡單的事實吧:  根據(jù)JavaBeans規(guī)范的要求,一個JavaBeans必須支持序列化或者外部化,這在JavaBeans規(guī)范5.5節(jié)的第一行就明確地定義了這個要求。  如果我沒有記錯,那上面白紙黑字寫著下面的一行英文:  All beans must support either Serialization or Externalization.  這意味著只有實現(xiàn)序列化或者外部化,或者繼承于某個實現(xiàn)了序列化或者外部化的基類,才能將一個Java類視做JavaBeans。但是遺憾的是,當你在查閱有關Java網(wǎng)絡開發(fā)(包括JSP開發(fā)、JSF、Servlet、Structs等)的圖書和資料時,又有多少圖書和資料教你遵守規(guī)范的要求呢?絕大多數(shù)的Java網(wǎng)絡開發(fā)圖書和資料在沒有實現(xiàn)序列化或者外部化時就告訴我們年輕的開發(fā)者:這是一個JavaBeans。很明顯,這是跟我們年輕的開發(fā)者開了一個天大的玩笑!  當然,僅僅是玩笑尚不足對我們年輕的開發(fā)者構成致命的打擊,關鍵是按照這樣的闡述開發(fā)出的應用程序將會給雇主造成致命的、無法挽回的損失?! ∮纱宋乙蚕氲?,曾經(jīng)有開發(fā)人員在讀完一些計算機圖書,再經(jīng)歷自己多年的開發(fā)實踐后有以下感慨:國內很多技術圖書領域都是這樣,好多計算機圖書只要最初的那一本錯了,后面的就全是Copy,甚至都不去關心事物的本源是什么?! 〉?,這僅僅不過是悲劇的開端……  如果究其產(chǎn)生的根源,那么基礎認知上存在根源性錯誤是導致這種情況發(fā)生的直接原因?! ∠旅嬉榻B的這個認識和實踐的錯誤顯得更加復雜,可能對于一個初入門的作者和譯者而言顯得有些難了,因為要想理解JavaBeans的真正作用對他們來說還是有些難度的?! w于JSP規(guī)范并未規(guī)定[jsp:useBean]動作標簽必須使用JavaBeans,所以大多數(shù)的Java應用程序服務器(JSP實現(xiàn))在轉化階段并未對其進行鑒別(實際上,就我所知的Java應用程序服務器中,沒有一款對其進行鑒別),這導致不計其數(shù)的開發(fā)者在使用[jsp:useBean]動作標簽時將一個簡單的Java Class當做JavaBeans來使用,而不是有甄別地去應用這個動作標簽?! H僅是[jsp:useBean]動作標簽中有useBean這個英文單詞,于是就造成了這樣巨大的錯誤。  你可以看到,在《JSP開發(fā)王》這本書中,我甚至不建議用戶使用[jsp:useBean]動作標簽。當然,如果非要使用它,那么就必須遵守《JSP開發(fā)王》提出的幾點約束?! 栏褡袷匾?guī)范和標準,警惕低級錯誤可能造成的悲劇  JavaBeans問題的發(fā)生是整個Java網(wǎng)絡開發(fā)領域內的悲劇,實際上也是整個網(wǎng)絡開發(fā)領域內的悲劇。連這樣基礎的東西都漠視,視標準和規(guī)范的要求于不顧,更不要說了解使用JavaBeans的主要目的是什么了,那么我們可愛的、年輕的開發(fā)者如何才能得到正確的網(wǎng)絡開發(fā)知識呢?  或者,每一個開發(fā)者都應自問:我如何才能為雇主開發(fā)出負責任的應用程序來呢?  開發(fā)者一定要破除“雇主付錢請我來編寫程序”的錯誤觀念,這實際上是忽略了后面的這句:“目的是我的程序能使雇主有更大的回報”?! ∧憧梢詫⒁粋€范例代碼寫錯,就像寫一個錯別字,可能在所難免,但你絕不能犯如此的低級錯誤,這是影響你整個開發(fā)體系的大事?! ∶恳粋€人都知道,悲劇顯然不是由某個特定的錯誤引起的,而是由某個根深蒂固的錯誤思想導致的,如果這種思想不除去,擋在開發(fā)者和雇主之間的魔障亦不會消除。它也會逐漸抽干雇主多年努力所換來的投入……當雇主獨處一室苦苦思索時,你是不會體會到的。  錯誤還在蔓延?  如果僅僅是這樣一個小事例,尚不足使這套書被稱為“王”,更多的基礎性錯誤還繼續(xù)在用戶的軟件開發(fā)知識體系中間蔓延,它們正伺機阻礙你企業(yè)的發(fā)展?! ∪绻fJavaBeans僅僅是個偶然性的錯誤的話,那么在基本驗證和網(wǎng)絡應用程序安全這樣最基礎的問題上,你同樣幾乎找不到一本像樣的教材和資料能夠完整系統(tǒng)地正確闡述它,更不要說其他的安全措施了。  這個錯誤在ASP、ASP.NET、JSP、PHP開發(fā)領域內存在的時間之長,幾乎可以與這些語言被發(fā)明那天起同步。導致這個錯誤發(fā)生的根源與導致JavaBeans錯誤發(fā)生的根源驚人地相同,都是根本不顧規(guī)范的要求—只要最開始的一本書錯了,那么后面的全是Copy。  錯誤也是積累的,在三層架構萬維網(wǎng)應用程序的展示層,如何正確認識HTML、CSS、JavaScript和Flash已經(jīng)成了當務之急,富客戶端應用程序已經(jīng)成為當前因特網(wǎng)應用程序開發(fā)中極受重視的領域,因為它能給消費者帶來最佳的客戶體驗,而這也正是雇主所需要的?! TML這個最基礎并且最簡單的語言可能用戶從未認真審視過—可能只是因為它簡單了,一個承擔了內容結構和內容呈現(xiàn)責任的語言如何在新的體系面前被正確理解呢?CSS究竟使HTML發(fā)生了何種變化呢?大多數(shù)的教材都是教授開發(fā)者和設計者怎樣使用CSS去呈現(xiàn)網(wǎng)頁,卻忘記了這樣做的根本是什么,好像這根本就不應被考慮。好在,現(xiàn)在該是結束的時候了……  AJAX解決方案的出現(xiàn)仿佛使JavaScript“重新”回到人們關注的視線中,但如果沒有DHTML解決方案作為鋪墊,AJAX又能做什么呢?答案很簡單:它什么也做不了?! JAX和Flash現(xiàn)在是富客戶端的主流,但是,如果你不能完整系統(tǒng)地正確認識三層架構的基本體系,如果不了解C/S和B/S的區(qū)別,那么設想能真正理解AJAX和Flash用于開發(fā)富客戶端應用程序只能是空想?! ‰m然Flash已是一個成熟的體系,但是,目前Flash開發(fā)對很多開發(fā)人員來說還是一個較新的領域。兩年前,很多開發(fā)者還在喋喋不休地爭論AS2和AS1的優(yōu)、缺點,爭論往往意味著還不能正確地認識它們的真正實質。所以,兩年前,在拙著中就完整系統(tǒng)地介紹了這方面的知識,幫助用戶完成了這一基本認知。現(xiàn)在,它已經(jīng)被完全融入到這個萬維網(wǎng)知識體系中,過去的大批量錯誤認知已經(jīng)被更正,我們還建立了完整的基于時間軸的Flash應用程序開發(fā)的理論體系,所以現(xiàn)在看起來,這個領域內的災難并沒有AJAX領域那么深重。  這些錯誤的發(fā)生不但使得開發(fā)者深受其害,重要的是,它有可能使得雇主的網(wǎng)絡應用程序因此而遭受重大挫折,并失去客戶的信任。  在這里,我提到了很多不應該發(fā)生卻又事實上發(fā)生了的,也是現(xiàn)在正在發(fā)生的悲劇,而更為重要的是,對規(guī)范、標準、實現(xiàn)、實踐的完備性認識還有很多、很長的路要走。如果沒有完整系統(tǒng)的知識體系,開發(fā)者還不知道要在“黑夜”里摸索多久?! ∠胍幌?,除了這里提到的錯誤,還有哪些錯誤被隱藏起來了,你還未發(fā)現(xiàn)呢?這也是為何我在書中對易出錯的部分做了突出顯示的原因。  也許不遠處真的就有冰山出沒……  當我看到有無數(shù)的教材和資料在長篇累牘、多達數(shù)十頁的論述抽象類和接口的區(qū)別時,我真的感到悲哀,是在為整個使用面向對象進行軟件開發(fā)的開發(fā)者們悲哀。當我兩年前用一句話來區(qū)分抽象類和接口時,可能并沒有人真正地去注意過它,雖然,在拙著中還用了文字加粗……  就像6年前,當在拙著中第一次提出Flash Player虛擬機的概念時,我想也并沒有多少人真正注意過這個問題;但是在2年前,我在拙著中第一次明確闡述了在ActionScript 2.0和ActionScript 1.0中存在的基本錯誤認知,現(xiàn)在,兩年過去了,我想再也沒有人會去犯同樣愚蠢的錯誤了。  想來應該有不少任課教師應該可以給他們的學員講授正確的Flash開發(fā)了。  但是,如果我說很多開發(fā)者連Flash基本的變量作用范圍都不能搞清楚,你是不是很詫異呢?  是啊,兩年前我也經(jīng)常聽一些人說他們會Flash開發(fā),可是我卻發(fā)現(xiàn)他們連最基本的變量的作用范圍都一知半解,如果連這個都不能系統(tǒng)掌握,能開發(fā)出一個完美的程序來嗎?又如何為雇主創(chuàng)造價值呢?  想來,我的前一本Flash作品已經(jīng)有不少人看過了,但是,同樣,大多數(shù)Flash開發(fā)人員可能并沒有得到這個知識?! ∈前?,因為并沒有特別聲張這件事,就是想看一看用戶究竟有沒有真正去學習Flash開發(fā),去認真獲取那些最真實的東西?! 〉?,這終究還是造成了遺憾——當拙著第一次為整個ActionScript語言帶來了完整系統(tǒng)的變量作用范圍的介紹時,可能很少人去注意它?! ‖F(xiàn)在,新版的《Flash開發(fā)王》我想不會再有人錯過了?! ∮袝r候,夜真的很黑、很深沉,它會淹沒你,并讓你忘記你自己……  開發(fā)王系列圖書有兩個最基本的基石  當然,即使有點點滴滴的、零星的低級錯誤,也不能說本書不能稱為“王”。開發(fā)王必須有兩個最基本的基石,除此之外別無其他,這兩個基石是:  幫助用戶建立正確的認知  幫助用戶建立完整系統(tǒng)的知識體系  正確的認知就是一切的根本  正確的認知就是一切的根本,這無須進行任何說明,而關鍵是什么是正確的認知。  認知有兩個層面的意思,一個是認字,一個是知道?! ∶總€人都是從認字開始的,這毫無疑問,認字就是了解事實是什么,知道就是怎樣做才能正確地認識到這個事實?! ∥覀兘?jīng)常聽到一個成語“授之以魚,不如授之以漁”。是的,不單單是應該告訴用戶一個事實,還要告訴他們怎樣去正確地認識到這個事實。  事實往往是某種規(guī)定,就像你學習漢語拼音那樣,a這個英文字母就是發(fā)音為“啊”。當然,對于應用程序開發(fā)來說,這個規(guī)定性或由某個標準定義,或由某個規(guī)范定義,或由某個程序的業(yè)務邏輯所要求,而你的“認字”也就是了解這種規(guī)定性究竟規(guī)定了什么。這個“認字”很枯燥,你只有死記硬背,完全遵照,就像完全遵照JavaBeans規(guī)范那樣?! ‖F(xiàn)在關鍵點是:這個死記硬背的事實用戶如何才能認識到它呢?這真的很難辦。為此我們提出了3個最簡單、最基本的問題可以幫助你一舉解決這個難題:  這是什么?  為什么是這樣?  該怎樣做?  你在“開發(fā)王”每一本書中,甚至每一章中都可以看到或體會到這樣的3個最簡單、最基本的問題。  完整系統(tǒng)的知識體系就是順理成章的一切  正確的認知往往是一點一滴匯聚起來的,如果這些點點滴滴的認知被相互肢解開來,那么最終形成的則是一片混亂。這就需要有一個知識體系將這些點點滴滴的認知相互關聯(lián)起來形成完整系統(tǒng)的知識體系,這也是日漸龐大的萬維網(wǎng)的必然要求。  正如你看到的那樣,我們將萬維網(wǎng)應用程序的知識體系建立在三層架構的基礎之上,在這個最基本的認知和知識體系下不斷將知識延伸?! ∥也幌朐谶@里對什么是“完整系統(tǒng)的知識體系”進行過多的介紹,因為每個人都理解它的字面意思,也理解它對每個開發(fā)者都是夢寐以求的,而關鍵是“完整系統(tǒng)的知識體系”的內容是什么。除了應該牢記這篇序言前面所介紹的萬維網(wǎng)的技術史和萬維網(wǎng)的基本知識結構,我也不想在前言中再多費筆墨,因為知識體系往往融入在各個知識點的相互結合中,不是一兩頁紙所能闡述清楚的?! ∪绻苡脦醉摷堦U述清楚那就好了,不過話又說過來,一個用幾頁紙就能闡述清楚的“完整系統(tǒng)的知識體系”能可信嗎?  “完整系統(tǒng)的知識體系”包含了某個領域內的完整內容,不可能使用幾頁紙就能闡述清楚,而且領域越廣,所需要的筆墨就越多。例如,針對JSP,你可能需要用一本書來介紹,但對整個萬維網(wǎng)應用程序來說,你可能需要10本書甚至更多,我想每一個用戶都不難理解。  誰將從這套書中受益開發(fā)者、雇主、主講教師、學員都將從“開發(fā)王”系列圖書中受益  開發(fā)者是理所應當?shù)淖畲笫芤嬲摺 『翢o疑問,“開發(fā)王”這套書是最終面向開發(fā)者的,不但初學者,而且資深的開發(fā)者也應視它為必讀之作。在正確的認知和完整、系統(tǒng)的知識體系面前,初學者和資深的開發(fā)者處于同一起跑線上?!  俺鯇W者”能夠在開發(fā)伊始就將技術建立在正確的認知的基礎上,并且循序漸進,獲得完整系統(tǒng)的知識體系,這不但可以加速學習進程,而且也是正確開發(fā)的保證。  “資深的開發(fā)者”雖然在實踐過程中獲得了很多好的實戰(zhàn)經(jīng)驗,但未必能夠運用自如,這就是過去混亂不堪的知識體系和錯誤的認知共同作用的結果。如果不砍掉錯誤和混亂,必然使自己的開發(fā)認識躊躇不前,最終走火入魔也未必不可能?! ‘斎?,如果你有錯誤的認知,并且編出了錯誤的應用程序,那么就要小心了,應該盡快通讀本書,趁雇主還未發(fā)現(xiàn)之前將漏洞補上?! 」椭魇亲罱K的受益人  雇主首先要關心的是如何在有效的投入情況下獲得較高的產(chǎn)出,也就是如何實現(xiàn)經(jīng)濟產(chǎn)出?! ≌_的軟件開發(fā)來源于正確的認知和完整系統(tǒng)的知識體系,這是毫無疑問的?! ≌缒闱懊婵吹降?,正確的認知是編寫正確程序的關鍵,試想一個沒有實現(xiàn)序列化的JavaBeans將會帶來什么樣的危害?假設是一個銀行結算程序,資金(一個JavaBeans)匯出去了,但是卻因為中間運算出了故障而死機,這個時候自動保護裝置本應該能夠恢復JavaBeans的狀態(tài)(也就是你的資金),但卻因為拙劣的錯誤認知進而編寫出拙劣的程序,這一程序從而又導致這一恢復過程無法完成。對一個企業(yè)而言,這是致命的一擊—連自己的基礎設施都無法保證,企業(yè)信譽便蕩然無存?! 崿F(xiàn)經(jīng)濟產(chǎn)出的另一個要關心的事情是如何實現(xiàn)團隊協(xié)作,這個時候正確的認知和完整系統(tǒng)的知識體系顯得尤為重要。  現(xiàn)在,拋開那些點點滴滴的零星錯誤(雖然它們也很重要),讓我們眼光看得更長更遠,即使是組織行為學的經(jīng)典理論也認為僅僅是團隊精神和團隊意識并不足以成功實現(xiàn)團隊協(xié)作,共同的技術知識和技術能力才是團隊合作得以有效進行的基礎?! 」餐募夹g知識和技術能力不但能夠很容易使成員清楚要達到的目標,而且相互間也清楚自己應承擔的責任和應該實現(xiàn)的功能。因此,一個完整、系統(tǒng)的知識體系對于團隊合作而言便顯得極為重要。僅僅靠熱情,員工們能夠合作得像一個團隊嗎?恐怕員工們自己也說服不了自己,更何況位于組織核心的人力資源主管和信息技術主管呢?  人力資源主管和信息技術主管作為雇主的代表應該將此書作為實現(xiàn)團隊合作的技術知識和技術能力評估的“客觀指標”。  人力資源主管和信息技術主管作為雇主的代表,同時也是這一知識體系的受益者。這一知識體系首先使你可以認識到一個合格的開發(fā)者所應具備的基本知識技能?! 〕酥猓@套圖書包含了大量的測試題,可以幫助你從客觀的技術層面上選擇那些適用于本企業(yè)的開發(fā)人員,以及用于員工考評和員工的再培訓。并且這些測試題可以提高你的工作效率,從而為你和你的雇主節(jié)省成本?! W員應該擁有這套書  雖然學員大多數(shù)選擇教材都還是為了應付考試,但是不管是用于考試還是用于以后從業(yè)于因特網(wǎng),“開發(fā)王”系列圖書是建立在正確的認知和完整系統(tǒng)的知識體系之上的,這符合最一般的邏輯要求,有利于記憶和總結,它會加快你的學習進程,提高效率,節(jié)省時間。  雖然教材并非由學員自己來選擇,但任課老師一般都會非常尊重學員的建議,你應告訴他你看到的真實的東西,以及你想到的東西,如果你這樣做了,就理應得到贊許?! ∪绻惆l(fā)現(xiàn)了教材中的一些錯誤,就應該及時提醒任課教師,并且也應該和同學切磋這個認識是否正確,這個過程也是培養(yǎng)團隊協(xié)作精神的過程?!  伴_發(fā)王”系列圖書不但適合作為教材,也適合作為自學用書,在3個最基本問題的指引下,學員也可以迅速有效地掌握萬維網(wǎng)應用程序開發(fā)的知識。并且,書中大量的范例可以用于實際應用程序開發(fā)和設計中,每章后面的習題可以用于鞏固所學的知識。  任課教師應該使用這套書作為  教材以贏得學員的信任  主講網(wǎng)絡開發(fā)的任課教師應該成為正確認知和完整系統(tǒng)的萬維網(wǎng)知識體系的傳播者,正確的認知和完整系統(tǒng)的萬維網(wǎng)知識體系是相對于錯誤認知和混亂的知識而言的,在教學上,混亂的知識往往與肢解式的授課方式緊密連在一起。  肢解式教學往往是要么盲目地對某個語法進行割裂式的使用方法講解,要么沉迷于對某個具體范例的長篇累牘的分析之中。這種教學雖然容易讓學員沉醉于暫時的范例成果而“沾沾自喜”,但也往往讓他們迷失在這種“沾沾自喜”當中,從而忘記軟件開發(fā)的基本事實?! ∵@樣做的教學目標看似明確,其實貽害無窮?!  扳叶〗馀#灰娙!笔橇鱾鲙浊甑睦瞎适拢v述了庖丁最初解牛時“所見無非全牛者”,而其“所好者道也,進乎技矣”,這個“道”就是指要完整系統(tǒng)地把握一件事物,然后再勤加練習,到“三年之后,未嘗見全牛也”?! ∪握n教師應該將學員從這種“沾沾自喜”的懸崖邊緣拉回來,授以庖丁之“道”,勉勵其自學以成庖丁之“技”,并最終集萬維網(wǎng)應用程序開發(fā)之大成?! ∪握n教師要做到這一點,一個重要的方式就是將過去肢解式的授課永遠忘掉,那些肢解式的教材也理應被扔到垃圾堆中?!  伴_發(fā)王”這套書能夠幫助你完成你的教學目標,這套書的一個編寫特點就是其完整系統(tǒng)的知識體系,它能夠幫助學員掌握“道”之本質。  為了使教學能夠更順利地展開,并便于學生課后自學,我們在每章的前面對本章內容做了總結,而且,每章的后面提供了習題和小結。  以堅實恒定的基石應對變化  對開發(fā)者、雇主、主講教師、學員來說,市場的不斷發(fā)展變化是不可避免的,市場的變化進而催生技術的不斷發(fā)展變化,這些變化對每一個卷入IT產(chǎn)業(yè)的組織和人員都提出了挑戰(zhàn)?! ∑髽I(yè)如何才能迅速響應市場變化帶來的挑戰(zhàn)呢?開發(fā)者如何才能迅速應對企業(yè)的新需求呢?在面對新技術時,如何將教學工作與新技術迅速銜接起來呢?  為了保持競爭優(yōu)勢并更迅速地響應市場變化,人員的技術知識和企業(yè)的業(yè)務必須保持流程的一致性,以實現(xiàn)更大的柔性和擴展性,而這一切必須建立在一個“堅實恒定”的基石之上才能說有可靠的技術保證?! ≡凇伴_發(fā)王”這套技術叢書中,每一個參與者都將看到這塊“堅實恒定”的基石,這個基石被稱為“完整系統(tǒng)的萬維網(wǎng)知識體系”,在這個基石之上實現(xiàn)的柔性和擴展性必然是可持久、可度量的,且可以應對迅速的變化。  完整系統(tǒng)的萬維網(wǎng)知識體系針對變化提供了更多機會,無論變化多么復雜、多么迅速,“開發(fā)王”都能夠幫助簡化它們,從而輕松獲取競爭優(yōu)勢?! 拇?,變化不再令人苦惱,相反它為你帶來一系列機遇:靈活性、業(yè)務一致性,當然,還有競爭優(yōu)勢,不管是對個人,還是對組織……  作者的話  從開始準備寫作到本套書的出版,前后經(jīng)歷了近6年的時間,也經(jīng)歷了多個軟件版本變遷,以及萬維網(wǎng)的沉沉浮浮,在這緊張的幾十個月后,本套書終于得以問世。我希望能通過本書給萬維網(wǎng)應用程序開發(fā)者和設計者帶來無限廣闊的、基本的、正確認知和完整系統(tǒng)的網(wǎng)絡開發(fā)知識。  本書在寫作過程中參考了“大量”的參考資料,包括數(shù)十份標準和規(guī)范,也包括作者多年創(chuàng)作和開發(fā)體驗的結晶,所有范例也都經(jīng)過了嚴格的測試,從而確保了內容準確翔實?! ∥恼轮刑岢龅娜魏斡^點和主張都必須經(jīng)得起事實的考驗?! ‰m然如此,錯誤和不足也在所難免,懇請讀者不吝賜教和指正,我們一定會全力改進,在以后的工作中加強和提高。  本書在創(chuàng)作和出版的過程中得到了電子工業(yè)出版社易飛思公司的大力支持,感謝他們在圖書的設計及內容審定方面所給予的指導,同時也感謝為本書的出版而努力工作的出版社其他工作人員?! ≡鯓娱喿x這套書  這套書的知識結構(包括范例),前后銜接的邏輯非常緊密,所以,這里特別提示用戶不要試圖跳躍章節(jié)閱讀,這將恐怕使你欲速而不達。  保持與作者溝通  有時與作者溝通是十分必要的,用戶可以從作者處獲取知識的更新,或者勘誤(如果書中有的話),同時也可以讓作者了解到你的想法。

內容概要

本書完全按照HTML 4.01規(guī)范要求編寫,詳細介紹如何使用HTML語言創(chuàng)作網(wǎng)頁,并且介紹如何將網(wǎng)頁聚合起來架設網(wǎng)站。HTML語言有嚴格的邏輯,是完整系統(tǒng)的互聯(lián)網(wǎng)知識體系的一部分。本書亦包含XHTML 1.0規(guī)范的全部內容。  本書以最新的技巧,教讀者輕松掌握HTML語言;并按照下面的邏輯認知順序進行講授:什么是HTML語言(what),為什么學HTML語言(why),以及怎樣使用HTML語言(how)。這樣是為了先幫助用戶建立首要的、基礎的正確認知,而后以深入淺出的實例來說明如何利用HTML語言制作網(wǎng)頁(即通過一個完整的網(wǎng)上餐廳案例,循序漸進地指導讀者怎樣將HTML網(wǎng)頁集合起來架設網(wǎng)站,并通過這一范例了解上載、更新和管理網(wǎng)站的技能)?! ”緯m合網(wǎng)絡開發(fā)工程師、網(wǎng)頁設計師,以及學校的相關任課教師和學員。網(wǎng)頁設計師,可以從本書學習到更為高級的網(wǎng)頁設計應用技巧,進而加強功力;程序開發(fā)者,也可以從本書學習到最為正統(tǒng)的HTML知識,從而避免錯誤認知和混亂。

作者簡介

張亞飛是現(xiàn)今活躍在信息技術領域的卓越作者。正如讀者過去所看到的那樣,他建立了一整套基于時間軸的完整系統(tǒng)的Flash知識體系,這個知識體系已經(jīng)使很多Flash開發(fā)者和設計者受益。今天,他從紛繁復雜的亂象中抽象出真知,構建了一整套完整系統(tǒng)的萬維網(wǎng)應用程序開發(fā)的知識體系

書籍目錄

第1篇  HTML基礎入門篇 第1章  建立首要的、基礎的正確認知      1.1  Internet和萬維網(wǎng)       1.1.1  什么是WWW(萬維網(wǎng))       1.1.2  W3C是什么      1.2  網(wǎng)頁、瀏覽器、網(wǎng)站和網(wǎng)絡服務器       1.2.1  網(wǎng)頁和瀏覽器       1.2.2  不可不知的瀏覽器發(fā)展史       1.2.3  瀏覽網(wǎng)頁       1.2.4  網(wǎng)站和網(wǎng)絡服務器      1.3  了解HTML語言       1.3.1  關于HTML和HTML編輯器       1.3.2  創(chuàng)建第一個網(wǎng)頁       1.3.3  查看網(wǎng)頁的源文件      1.4  HTML 4.0的特點       1.4.1  國際化       1.4.2  可訪問性       1.4.3  表格       1.4.4  混合文檔       1.4.5  樣式表       1.4.6  腳本       1.4.7  打印      1.5  鞏固與自測     第2章  HTML文檔的基本結構      2.1  使用Dreamweaver創(chuàng)建第一個網(wǎng)頁       2.1.1  Dreamweaver安裝和配置向導       2.1.2  使用Dreamweaver創(chuàng)建網(wǎng)頁的基本步驟       2.1.3  使用Dreamweaver的基本知識      2.2  HTML文檔的基本結構       2.2.1  了解SGML和HTML的關系       2.2.2  HTML簡要的歷史和為何要使用HTML       2.2.3  HTML 4.01的版本和文檔類型聲明       2.2.4  標簽對和屬性       2.2.5  標簽對       2.2.6  標簽對      2.3  鞏固與自測     第3章  HTML文檔的編寫規(guī)范      3.1  使用標簽、元素和屬性       3.1.1  標簽       3.1.2  元素       3.1.3  屬性的定義       3.1.4  屬性值的定義       3.1.5  元素和屬性的大小寫規(guī)范       3.2  字符引用       3.2.1  字符數(shù)字引用       3.2.2  字符實體引用      3.3  使用注釋      3.4  關于空白和空白字符       3.4.1  關于斷行符       3.4.2  空白字符      3.5  基本HTML數(shù)據(jù)型式       3.5.1  CDATA數(shù)據(jù)類型       3.5.2  ID和NAME使用的數(shù)據(jù)類型       3.5.3  IDREF和IDREFS使用的數(shù)據(jù)類型       3.5.4  NUMBER數(shù)據(jù)類型       3.5.5  文本字符串       3.5.6  使用URI       3.5.7  使用顏色       3.5.8  使用長度       3.5.9  內容類型(MIME類型)       3.5.10  語言代碼       3.5.11  字符編碼       3.5.12  單字符       3.5.13  日期和時間       3.5.14  鏈接類型       3.5.15  介質描述符       3.5.16  腳本數(shù)據(jù)       3.5.17  樣式表數(shù)據(jù)       3.5.18  框架目標名       3.6  鞏固與自測    第2篇  HTML詳細學習篇 第4章  HTML文檔的頭部定義      4.1  定義標題(title元素)      4.2  怎樣定義元數(shù)據(jù)       4.2.1  定義元數(shù)據(jù)關鍵字       4.2.2  元數(shù)據(jù)的語言信息       4.2.3  元數(shù)據(jù)的其他定義方法      4.3  用于搜索引擎的元數(shù)據(jù)       4.3.1  定義編輯工具       4.3.2  定義版權信息       4.3.3  定義關鍵字       4.3.4  定義概要描述       4.3.5  定義設計者       4.3.6  定義創(chuàng)作日期       4.3.7  定義搜索引擎搜索方式      4.4  用于HTTP消息報頭的元數(shù)據(jù)(屬性http-equiv)       4.4.1  設置網(wǎng)頁內容類型和字符集       4.4.2  設置網(wǎng)頁所使用的語言       4.4.3  設置網(wǎng)頁定時跳轉       4.4.4  設置網(wǎng)頁禁用緩存       4.4.5  設置網(wǎng)頁到期       4.4.6  設置網(wǎng)頁Cookie存活時間       4.4.7  設置網(wǎng)頁框架目標       4.4.8  設置網(wǎng)頁轉場效果       4.4.9  設置網(wǎng)頁分級      4.5  元數(shù)據(jù)綱要和元數(shù)據(jù)架構       4.5.1  使用元數(shù)據(jù)綱要(profile屬性)       4.5.2  使用元數(shù)據(jù)架構(scheme屬性)      4.6  鞏固與自測     第5章  文字與段落      5.1  結構化的文本       5.1.1  用于強調的短語元素(em元素、strong元素、cite元素)       5.1.2  用于縮寫的短語元素(abbr元素、acronym元素)       5.1.3  其他的短語元素(dfn、code、samp、kbd、var)       5.1.4  引用(blockquote元素、q元素)       5.1.5  下標和上標(sub元素、sup元素)      5.2  行和段落       5.2.1  段落(p元素)       5.2.2  控制換行(br元素)       5.2.3  連字符       5.2.4  預格式化文本(pre元素)       5.2.5  段落的視覺呈現(xiàn)      5.3  標題字體(h#元素)      5.4  標記文檔改變:ins和del元素      5.5  基本文字格式(tt、i、b、big、small、strike、s、u)      5.6  字體修改(font、basefont元素)       5.6.1  改變字體大小(size屬性)       5.6.2  改變文本顏色(color屬性)       5.6.3  改變字體(face屬性)      5.7  加入水平分割線(hr元素)       5.7.1  分隔線寬度和高度(width屬性、size屬性)       5.7.2  分隔線對齊(align屬性)       5.7.3  分隔線顏色(color屬性)       5.7.4  分隔線陰影(noshade屬性)      5.8  鞏固與自測     第6章  建立列表      6.1  創(chuàng)建列表       6.1.1  有序列表(ol元素)       6.1.2  無序列表(ul元素)       6.1.3  解說列表(dl元素)       6.1.4  嵌套列表       6.1.5  列表的緊湊顯示(compact 屬性)      6.2  定制列表前的符號       6.2.1  定制無序列表符號(type屬性)       6.2.2  定制有序列表中的序號(type屬性)       6.2.3  定制有序列表中的列表項的起始數(shù)(start屬性)       6.2.4  定制有序列表中的列表項序號的數(shù)值(value屬性)      6.3  使用dir和menu元素來定義列表      6.4  鞏固與自測     第7章  建立超鏈接      7.1  鏈接的基礎知識      7.2  了解文檔位置和路徑       7.2.1  絕對路徑       7.2.2  文檔相對路徑       7.2.3  區(qū)分URI、URL和URN       7.2.4  區(qū)分本地鏈接和服務器鏈接      7.3  使用a元素定義鏈接       7.3.1  定義鏈接的目標URI(href屬性)       7.3.2  定義鏈接的目標窗口(target屬性)       7.3.3  定義鏈接的提示信息(title屬性)       7.3.4  國際化和鏈接(hreflang屬性和charset屬性)       7.3.5  鏈接到其他網(wǎng)站       7.3.6  鏈接到您的網(wǎng)站中的其他網(wǎng)頁       7.3.7  鏈接到電子郵件地址       7.3.8  鏈接到任何類型的文件以供下載       7.3.9  創(chuàng)建空鏈接和腳本鏈接       7.3.10  鏈接的創(chuàng)建與管理        7.4  定義書簽和鏈接到書簽       7.4.1  定義命名錨點(id屬性和name屬性)       7.4.2  鏈接到命名錨點      7.5  文檔關系鏈接(link元素)       7.5.1  定義關系鏈接地址(href屬性)       7.5.2  向前鏈接或者反轉鏈接(rel和rev屬性)       7.5.3  鏈接到外部樣式表       7.5.4  使用link元素說明文檔集合關系       7.5.5  鏈接到文檔的替代版本       7.5.6  鏈接到文檔的版權聲明       7.5.7  鏈接到文檔的幫助       7.5.8  鏈接到文檔中的書簽      7.6  link元素和搜索引擎      7.7  定義基準地址(base元素)       7.7.1  使用基準URI       7.7.2  用戶瀏覽器如何決定相對URI       7.7.3  定義基準鏈接目標窗口(target屬性)      7.8  鞏固與自測     第8章  鏈入圖片和混排圖文      8.1  了解圖片       8.1.1  了解GIF格式圖片       8.1.2  了解JPEG格式圖片       8.1.3  了解PNG格式圖片       8.1.4  創(chuàng)建圖片       8.2  鏈入圖片(img元素)        8.2.1  圖片的源地址(src屬性)       8.2.2  圖片的幅面大?。╳idth屬性和height屬性)       8.2.3  圖片的說明(alt屬性、longdesc屬性)       8.2.4  圖片的邊框(border屬性)       8.2.5  圖片的占位符       8.2.6  圖片和文字的對齊(align屬性)       8.2.7  圖片的水平間距和垂直間距(hspace屬性和vspace屬性)      8.3  為圖片建立超鏈接(img元素)      8.4  創(chuàng)建圖像映射       8.4.1  了解熱點和圖像映射       8.4.2  關于客戶端圖像映射和服務端圖像映射       8.4.3  創(chuàng)建圖像映射(map元素、area元素)       8.4.4  設置熱點默認鏈接       8.4.5  創(chuàng)建服務端圖像映射       8.4.6  客戶端圖像映射和服務端圖像映射混合      8.5  飄浮對象和圖文混排       8.5.1  飄浮對象的定義       8.5.2  飄浮對象周圍的文本的流動      8.6  鞏固與自測     第9章  使用表格      9.1  了解表格       9.1.1  表格用來做什么       9.1.2  了解行、列和單元格      9.2  創(chuàng)建表格       9.2.1  創(chuàng)建表格的基本語法(table元素、tr元素、th元素、td元素)       9.2.2  設置表格邊框線條寬度(border屬性)       9.2.3  設置表格寬度(width屬性)       9.2.4  表格在頁面中的對齊(align屬性)       9.2.5  表格的描述(summary屬性)       9.2.6  表格的背景色(bgcolor屬性)       9.2.7  表格中單元格的間距和襯距(cellspacing屬性、cellpadding屬性)      9.3  表格的標題(caption元素)      9.4  設置單元格(th元素、td元素)       9.4.1  使用th元素定義單元格       9.4.2  跨多行、多列的單元格       9.4.3  單元格的背景色彩       9.4.4  單元格的寬度和高度      9.5  表格的按行分組顯示(thead元素、tfoot元素、tbody元素)      9.6  表格的按列分組顯示(colgroup元素、col元素)       9.6.1  創(chuàng)建列分組(colgroup元素)       9.6.2  使用span屬性指定列分組       9.6.3  為列分組定義列寬(width屬性)      9.7  表格邊框和分隔線的呈現(xiàn)(frame屬性、rules屬性)       9.7.1  表格中邊框線的顯示(frame屬性)       9.7.2  表格中分隔線的顯示(rules屬性)      9.8  單元格內內容的對齊       9.8.1  單元格對齊屬性       9.8.2  對齊的繼承       9.8.3  軸線(axis屬性)      9.9  鞏固與自測     第10章  建立HTML表單      10.1  認識和建立HTML表單       10.1.1  建立表單(form元素)       10.1.2  了解控件       10.1.3  控件類型      10.2  使用input元素創(chuàng)建表單控件       10.2.1  創(chuàng)建文本框和密碼文本框       10.2.2  創(chuàng)建復選框       10.2.3  創(chuàng)建單選按鈕       10.2.4  創(chuàng)建提交按鈕       10.2.5  創(chuàng)建重置按鈕       10.2.6  創(chuàng)建圖形按鈕       10.2.7  創(chuàng)建普通按鈕       10.2.8  創(chuàng)建文件選擇框       10.2.9  創(chuàng)建隱藏控件      10.3  使用button元素創(chuàng)建按鈕      10.4  組合框控件和列表框控件       10.4.1  創(chuàng)建組合框控件和列表框控件       10.4.2  成組選項       10.4.3  關于預先選定選項      10.5  創(chuàng)建多行文本框(textarea元素)      10.6  使用isindex元素創(chuàng)建文本框      10.7  為表單控件定義標簽(label元素)      10.8  為表單添加結構(fieldset元素和legend元素)      10.9  將焦點移到某個元素上       10.9.1  使用【Tab】鍵導航       10.9.2  使用熱鍵導航       10.10  設置禁用控件和設置只讀控件       10.10.1  設置禁止控件       10.10.2  設置只讀控件      10.11  表單提交       10.11.1  表單提交的方法       10.11.2  結果良好的控件       10.11.3  瀏覽器怎樣發(fā)送表單數(shù)據(jù)       10.11.4  表單內容的類型      10.12  鞏固與自測     第11章  使用框架集結構      11.1  框架集的基本語法       11.1.1  框架文檔聲明       11.1.2  縱向排列框架和橫向排列框架(rows屬性、cols屬性)       11.1.3  嵌套框架集       11.1.4  不顯示框架時(noframes元素)      11.2  框架窗口的內容和外觀(frame元素)       11.2.1  設置框架的初始內容       11.2.2  框架窗口邊框線的設置       11.2.3  頁面空白       11.2.4  滾動條設置       11.2.5  改變框架窗口大小       11.2.6  框架的描述(title屬性、longdesc屬性)      11.3  使用目標框架(name屬性和target屬性)       11.3.1  設置鏈接默認的目標       11.3.2  目標的優(yōu)先級       11.3.3  名稱和框架標識      11.4  內聯(lián)框架(iframe元素)      11.5  鞏固與自測     第12章  鏈入對象和其他多媒體元素      12.1  使用Java Applet(applet元素)       12.1.1  安裝Java運行時環(huán)境       12.1.2  準備Java Applet應用程序       12.1.3  鏈入Java Applet應用程序      12.2  使用object元素鏈入對象       12.2.1  為何要使用object元素       12.2.2  了解對象、數(shù)據(jù)和實現(xiàn)       12.2.3  使用通用的鏈入方法(object元素)       12.2.4  將object元素置于head元素內       12.2.5  渲染對象的規(guī)則       12.2.6  內聯(lián)數(shù)據(jù)vs外部數(shù)據(jù)       12.2.7  對象初始化(param元素)       12.2.8  對象的全局命名機制       12.2.9  對象的聲明和實例化      12.3  使用object元素鏈入對象實踐       12.3.1  鏈入Java Applet       12.3.2  鏈入Flash影片(SWF)       12.3.3  鏈入QuickTime影片(MOV)       12.3.4  鏈入AVI、MPEG影片       12.3.5  鏈入Real影片(RM和RMVB)       12.3.6  鏈入MP3、WMA音頻       12.3.7  鏈入Shockwave影片(DIR)       12.3.8  關于嵌入的HTML文檔      12.4  鏈入對象的呈現(xiàn)       12.4.1  對象的寬度和高度       12.4.2  對象的水平間距和垂直間距(hspace屬性和vspace屬性)       12.4.3  對象的邊框       12.4.4  對象的對齊       12.4.5  定義替換文本      12.5  使用object元素創(chuàng)建圖像映射       12.5.1  使用a元素定義熱點       12.5.2  為內嵌元素定義熱點      12.6  鞏固與自測     第13章  使用腳本語言      13.1  了解腳本語言       13.1.1  客戶端腳本       13.1.2  服務端腳本      13.2  在HTML文檔中使用腳本代碼       13.2.1  使用script元素定義腳本代碼       13.2.2  在內建事件中定義腳本       13.2.3  在超鏈接中定義腳本       13.2.4  定義腳本語言       13.2.5  動態(tài)修改文檔       13.2.6  認識DHTML      13.3  瀏覽器不支持腳本是應注意的問題       13.3.1  noscript元素       13.3.2  隱藏腳本數(shù)據(jù)      13.4  鞏固與自測    第3篇  網(wǎng)頁呈現(xiàn)進階和網(wǎng)頁布局篇 第14章  HTML網(wǎng)頁呈現(xiàn)和網(wǎng)頁國際化      14.1  鍵入文字和使用字符編碼(charset屬性)       14.1.1  計算機文字字符編碼簡介       14.1.2  使用HTML文檔字符集和選擇字符編碼       14.1.3  指定字符編碼       14.1.4  字符編碼的優(yōu)先級       14.1.5  在HTML文檔中使用字符引用      14.2  指定文檔內容的語言(lang屬性)       14.2.1  語言代碼       14.2.2  語言代碼的繼承       14.2.3  瀏覽器對語言代碼的解釋      14.3  定義文本和表格的方向       14.3.1  Unicode規(guī)范定義的文本字符方向       14.3.2  Unicode雙向運算法則       14.3.3  文本方向的繼承       14.3.4  使用bdo元素忽略雙向運算法則       14.3.5  表格的方向      14.4  body元素用于全局呈現(xiàn)      14.5  網(wǎng)頁國際化和區(qū)域化的相關名詞      14.6  鞏固與自測     第15章  應用樣式表呈現(xiàn)和布局      15.1  為什么要使用樣式表       15.1.1  過去的不足和樣式表的優(yōu)點       15.1.2  了解CSS(層疊樣式表)       15.1.3  HTML 4對樣式表技術的支持      15.2  添加CSS樣式到HTML網(wǎng)頁       15.2.1  設置默認的樣式表語言       15.2.2  內聯(lián)樣式       15.2.3  定義嵌入的樣式表(style元素)      15.3  使用外部樣式表       15.3.1 “可替換樣式表”和“偏好樣式表”       15.3.2  指定外部樣式表       15.3.3  樣式表的聲明語句       15.3.4  使用HTTP消息報頭鏈接到樣式表      15.4  層疊樣式表       15.4.1  基于介質的層疊       15.4.2  繼承和層疊      15.5  隱藏樣式數(shù)據(jù)      15.6  了解塊級元素和行內級元素       15.6.1  塊級元素和行內級元素的不同       15.6.2  關于div元素和span元素       15.6.3  元素標識(id屬性和class屬性)      15.7  鞏固與自測     第16章  應用表格和框架布局      16.1  使用表格進行網(wǎng)頁設計和布局的方法       16.1.1  了解布局模塊       16.1.2  表格布局的方法       16.2  在Dreamweaver中使用表格       16.2.1  在“布局”模式下使用表格進行網(wǎng)頁布局       16.2.2  在“布局”模式下修改網(wǎng)頁布局       16.2.3  設置“布局”模式的首選參數(shù)       16.2.4  將內容添加到布局單元格中      16.3  使用嵌套表格進行網(wǎng)頁布局實務       16.3.1  通過嵌套表格實現(xiàn)布局       16.3.2  怎樣在文本周圍保留空白區(qū)域       16.3.3  怎樣設置復雜的邊緣飾紋       16.3.4  布局的最后潤色      16.4  使用框架進行網(wǎng)頁布局實務       16.4.1  框架和表格的關系       16.4.2  在Dreamweaver中使用框架      16.5  鞏固與自測    第4篇  創(chuàng)建和發(fā)布網(wǎng)站篇 第17章  網(wǎng)頁、網(wǎng)站和網(wǎng)絡應用程序      17.1  安裝和設置網(wǎng)絡應用程序的運行環(huán)境       17.1.1  安裝IIS       17.1.2  安裝PWS       17.1.3  通過服務器請求網(wǎng)頁      17.2  Web服務器根目錄和虛擬目錄       17.2.1  Web服務器根目錄       17.2.2  虛擬目錄       17.2.3  啟用默認文件      17.3  鞏固與自測     第18章  HTML完整應用——創(chuàng)建網(wǎng)上餐廳網(wǎng)站      18.1  怎樣開發(fā)網(wǎng)站      18.2  規(guī)劃設計網(wǎng)站       18.2.1  規(guī)劃網(wǎng)站的結構       18.2.2  創(chuàng)建網(wǎng)站      18.3  風格設計和頁面布局       18.3.1  注意事項       18.3.2  設計網(wǎng)頁布局       18.3.3  使用框架和表格實現(xiàn)布局       18.3.4  實現(xiàn)主頁默認中間模塊      18.4  瀏覽產(chǎn)品       18.4.1  創(chuàng)建產(chǎn)品列表網(wǎng)頁       18.4.2  創(chuàng)建產(chǎn)品詳細信息      18.5  實現(xiàn)頂部廣告模塊     第19章  發(fā)布和管理網(wǎng)站      19.1  設置Dreamweaver站點       19.1.1  了解Dreamweaver站點       19.1.2  創(chuàng)建新的Dreamweaver站點       19.1.3  編輯Dreamweaver站點設置      19.2  整理站點       19.2.1  檢查無效鏈接       19.2.2  驗證語法是否有誤      19.3  上傳和更新的管理       19.3.1  使用FTP服務器建立上傳網(wǎng)站空間       19.3.2  虛擬主機       19.3.3  管理和上傳網(wǎng)站       19.3.4  管理局域網(wǎng)站點    附錄A  從HTML 4到XHTML     A.1  XML的知識準備        A.1.1  書寫XML文檔      A.1.2  有效的XML文檔      A.1.3  使用命名空間     A.2  XHTML語法入門      A.2.1  XHTML文檔結構      A.2.2  XHTML文檔標簽語法     A.3  XHTML和HTML 4的不同點      A.3.1  文檔必須格式良好      A.3.2  元素和屬性必須使用小寫字母      A.3.3  屬性定義必須嚴格符合要求      A.3.4  Script和Style元素      A.3.5  SGML禁止      A.3.6  使用lang和xml:lang屬性      A.3.7  使用字符編碼      A.3.8  包含id和name屬性的元素      A.3.9  使用isindex      A.3.10  使用邏輯屬性      A.3.11  文檔對象模型和XHTML      A.3.12  層疊樣式表和XHTML      A.3.13  不要在注釋內容中使“—”      A.3.14  使用十六進制數(shù)字引用      A.3.15  預定義屬性值必須區(qū)分大小寫     A.4  轉換HTML 4為XHTML    附錄B  HTML的字符實體引用和數(shù)字引用對照表    附錄C  用HTML 4.0制作文檔應遵循的一般性原則    附錄D  使用微軟個人服務器PWS     D.1  安裝PWS     D.2  配置PWS      D.2.1  主屏      D.2.2  高級      D.2.3  其他    附錄E  關于網(wǎng)頁安全色    附錄F  HTML自然語言及語言代碼對照表    附錄G  常用字符集速查表    附錄H  HTML標簽對的使用及元素可用屬性速查手冊    附錄I  HTML屬性及可附著元素速查手冊    附錄J  參考答案     第1章     第2章     第3章     第4章     第5章     第6章     第7章     第8章     第9章     第10章     第11章     第12章     第13章     第14章     第15章     第16章     第17章    附錄K  參考文獻及資料來源

章節(jié)摘錄

  第1章 建立首要的、基礎的正確認知  用戶要學習HTML,必須首先了解萬維網(wǎng)、網(wǎng)頁和HTML的關系。萬維網(wǎng)是由無數(shù)的網(wǎng)頁組成的,這些網(wǎng)頁由HTML語言編寫,這是萬維網(wǎng)、網(wǎng)頁和HTML三者之間的基本關系。所有的網(wǎng)頁——無論是動態(tài)網(wǎng)頁還是靜態(tài)網(wǎng)頁,都是最終形成HTML語言并為瀏覽器所解釋的,所以,用戶要學習網(wǎng)絡設計和開發(fā),首先必須熟悉HTML語言?! TML語言,全稱是HyperText MarKup LangLLage(超文本標簽語言),其實是一個規(guī)范(或者稱為標準),它由W3C制定,而為參與萬維網(wǎng)的創(chuàng)作者和軟件廠商所遵守?! ?chuàng)作者一般是指網(wǎng)頁(包括圖形等多媒體文件)的創(chuàng)建者,如正在學習本書的你,將會使用HTML語言創(chuàng)作網(wǎng)頁;而軟件廠商一般是指開發(fā)網(wǎng)頁瀏覽工具的廠商,如開發(fā)Internet Explorer瀏覽器軟件的微軟公司,它們將會開發(fā)瀏覽器等終端設備解釋網(wǎng)頁。

編輯推薦

  “在正確與錯誤之間做抉擇并不艱難,打開前言,將抉擇權把握在自己手中?!薄 〗⒄_的認知、完整系統(tǒng)的知識體系。在文章中提出的任何觀點和主張都必須經(jīng)得起事實的考驗?! 【烤故裁词钦_的HTML網(wǎng)頁,讓本書來給你答案;完全范例講解,通俗易懂,循序漸進,學習效率和效果最佳;范例完全通過W3C推薦驗證程序驗證,真正使你的網(wǎng)頁完全符合行業(yè)標準;完全涵蓋HTML4.01和XHTML1.0,真正全面準確地學習網(wǎng)頁語言;透析HTML網(wǎng)頁內核,內容和樣式的真實內涵,為網(wǎng)絡開發(fā)奠定正確的基石;完全實戰(zhàn)網(wǎng)站架設和維護,最符合團隊協(xié)作要求,提高工作效率,讓你可以完全滿足雇主的需求?!  伴_發(fā)王”系列圖書是張亞飛從業(yè)互聯(lián)網(wǎng)以來出版的首套完整系統(tǒng)的網(wǎng)絡開發(fā)圖書,它也是國內第一套完整系統(tǒng)的萬維網(wǎng)網(wǎng)絡開發(fā)圖書。張解釋說:這套書一直是他計劃中的一部分,經(jīng)過近6年的準備、編寫和測試才完成這套心血力作,在還沒有完全滿意之前他不會輕易發(fā)表作品,就像他以前做的那樣!他希望在10年后再看這套書時,人們還會說這是一套”很棒的開發(fā)圖書”。而現(xiàn)在正是發(fā)表這套圖書的好時機,因為一切都已準備就緒!  ——田蕾

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    HTML開發(fā)王 PDF格式下載


用戶評論 (總計5條)

 
 

  •   之前在網(wǎng)上學了html,這本書買了沒怎么看,買來的目的就是放在那里,沒事翻一下,鞏固一下。
  •   總體來說,還好,需要花時間看
  •   我覺得說得還比較詳細
  •   不知道是什么時候的書了頁面都不是純的白色了
  •   想自學的可以看看
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7