本書系統(tǒng)介紹了Web程序設(shè)計的基本思想、原理、技術(shù)和開發(fā)實踐,反映了Web開發(fā)技術(shù)的*新進(jìn)展,涵蓋了Web程序設(shè)計的基本理論、基本知識、基本技術(shù)和技術(shù)內(nèi)核,體現(xiàn)了理論和實踐相統(tǒng)一的理念。內(nèi)核分析及技術(shù)介紹深入淺出,易于理解和掌握,與實戰(zhàn)相結(jié)合,具有很強(qiáng)的實用性。
本書共分10章,第1章介紹Web開發(fā)技術(shù)基礎(chǔ),第2章介紹網(wǎng)站設(shè)計與開發(fā),第3章介紹客戶端設(shè)計與開發(fā),第4章介紹HTML5技術(shù),第5章介紹CSS技術(shù),第6章介紹服務(wù)器端設(shè)計與開發(fā),第7章介紹Servlet技術(shù),第8章介紹JavaBean技術(shù),第9章介紹JDBC技術(shù),第10章是案例分析。
本書可作為高等院校計算機(jī)及信息類相關(guān)專業(yè)本科生、研究生教材及參考用書,也可作為高校教師、科研單位研究人員的參考書。
本書可滿足現(xiàn)階段和今后一段時間內(nèi)在校本科生、研究生及Web技術(shù)開發(fā)愛好者的需求。本書針對性強(qiáng),內(nèi)容廣泛。技術(shù)及內(nèi)核介紹深入淺出,易于理解和掌握,并且與實戰(zhàn)相結(jié)合,具有很強(qiáng)的實用性。
第3章客戶端設(shè)計與開發(fā)
本章主要介紹客戶端技術(shù)開發(fā)的相關(guān)知識。本章分11節(jié),3.1節(jié)和3.2節(jié)是DHTML和JavaScript的概述; 3.3節(jié)介紹JavaScript的基本語法; 3.4節(jié)介紹JavaScript的事件驅(qū)動機(jī)制; 3.5節(jié)~3.7節(jié)介紹JavaScript的內(nèi)部對象、瀏覽器對象和文檔對象模型; 3.8節(jié)和3.9節(jié)介紹JavaScript的客戶端驗證和開發(fā)實例; 3.10節(jié)介紹jQuery框架; 3.11節(jié)介紹AJAX技術(shù)。
3.1DHTML簡介
單純地用XHTML和CSS技術(shù)設(shè)計的靜態(tài)頁面缺少動態(tài)的效果。當(dāng)Microsoft和Netscape發(fā)布其各自瀏覽器的第4版時,Web開發(fā)人員有了一個新的選擇——動態(tài)HTML(Dynamic HTML,DHTML)。
DHTML不是一個W3C標(biāo)準(zhǔn),而更像是一種營銷手段。DHTML結(jié)合了(X)HTML、CSS、JavaScript和DOM,使開發(fā)人員可以動態(tài)地修改Web頁面的內(nèi)容和結(jié)構(gòu)。
實現(xiàn)DHTML,就是以(X)HTML為基礎(chǔ),運用DOM將頁面元素對象化,利用JavaScript控制這些對象的CSS屬性以達(dá)到網(wǎng)頁的動態(tài)視覺效果。
下面通過訪問微軟中國體驗DHTML帶來的神奇效果。
如圖31所示,當(dāng)用戶將鼠標(biāo)指針移動到頁面導(dǎo)航條上時會動態(tài)地彈出一個菜單。在該菜單中移動鼠標(biāo),所指向的菜單項的顏色改變; 如果將鼠標(biāo)指針移出菜單所在的范圍,則菜單自動隱藏; 如果將鼠標(biāo)指針移動到導(dǎo)航條上的另外一個區(qū)域,則會彈出另外一個菜單。
圖31DHTML示例
這種特性類似于Windows應(yīng)用程序的特性,即通過圖形化的界面為用戶提供盡可能多的功能。實際上,采用這種方式可以使同一個頁面上包含更多的信息,對于微軟中國這樣龐大的站點來說十分有用。
3.2JavaScript簡介
頁面動態(tài)效果分為以下兩種。
(1) 客戶端的動態(tài)效果: 稱為DHTML網(wǎng)頁,Web頁面可以處理各種事件,例如鼠標(biāo)移動時圖片會有翻轉(zhuǎn)效果等。
(2) 客戶端與服務(wù)器端交互產(chǎn)生的動態(tài)效果: 稱為動態(tài)網(wǎng)頁,指根據(jù)訪問者的請求由服務(wù)器端腳本程序動態(tài)生成的Web頁。
客戶端腳本語言是實現(xiàn)DHTML網(wǎng)頁的合適工具,主要的客戶端腳本語言有JavaScript、JScript和VBScript。JavaScript是最早的客戶端腳本語言,也是瀏覽器默認(rèn)的客戶端腳本語言。JavaScript的出現(xiàn)使得信息和用戶之間不僅只是一種顯示和瀏覽的關(guān)系,而是實現(xiàn)了一種實時的、動態(tài)的、可交換式的表達(dá)能力。
JavaScript常見的應(yīng)用有客戶端驗證、動畫效果、文字特效、動態(tài)窗口等。
3.2.1JavaScript的發(fā)展歷史
JavaScript語言早期是Netscape的開發(fā)者們稱之為“Mocha”的語言,開始在網(wǎng)上進(jìn)行β測試(由軟件的多個用戶在其實際使用環(huán)境下進(jìn)行的測試叫β測試)時,將名字改為“LiveScript”。
Sun公司推出Java之后Netscape引入了Sun的概念,在其發(fā)行Netscape 2.0β測試版時才稱“JavaScript”。它不僅支持Applet小程序,同時向Web頁的制作者提供一種嵌入HTML文檔進(jìn)行編程的、基于對象的Script(腳本)程序語言,采用的許多結(jié)構(gòu)與Java相似。
隨后JavaScript語言規(guī)范不斷發(fā)展,從1.1、1.2、1.3版本發(fā)展到現(xiàn)在的1.5版本,不斷完善JavaScript數(shù)據(jù)表現(xiàn)和控制的能力。最初創(chuàng)建JavaScript是為了幫助開發(fā)人員動態(tài)地修改頁面上的標(biāo)記,以便為客戶提供更豐富的體驗。后來人們認(rèn)識到頁面也可以當(dāng)作對象,隨即文檔對象模型(Document Object Model,DOM)就應(yīng)運而生了。DOM剛剛誕生,JavaScript就和DOM緊密地交織在一起,但不久它們就“分道揚(yáng)鑣”,并各自發(fā)展。