出版時(shí)間:2008-12 出版社:人民郵電出版社 作者:Frank W.Zammetti 頁(yè)數(shù):432 字?jǐn)?shù):656000
Tag標(biāo)簽:無(wú)
前言
誰(shuí)能夠想象到某些人把一個(gè)著名足球俱樂部的名字運(yùn)用到了一項(xiàng)即將改變世界的編程技術(shù)之上?然而這的確發(fā)生了!. Ajax(異步JavaScript和XML)聲勢(shì)浩大地席卷了Web開發(fā)領(lǐng)域,成為Web 2.0大潮的催化劑。它不僅僅開啟了Web應(yīng)用的一個(gè)嶄新時(shí)代(因?yàn)樗峁┝饲八从械娜诵曰挠脩艚缑妫?,而且徹底改變了Web開發(fā)的方式。我們不再局限于文檔/頁(yè)面模型,用戶驅(qū)動(dòng)模型現(xiàn)在終于成了現(xiàn)實(shí)。也許是第一次,我們終于可以利用自己的既有優(yōu)勢(shì)(因?yàn)?,正如你將要了解到的,Ajax實(shí)際上并不是什么新東西),開發(fā)出真正的Web應(yīng)用了。這真是太酷了! 是的,對(duì)Ajax的宣傳一度充滿了泡沫。在網(wǎng)絡(luò)時(shí)代,許多類似的東西都如曇是的,對(duì)Ajax的宣傳一度充滿了泡沫。在網(wǎng)絡(luò)時(shí)代,許多類似的東西都如曇花一現(xiàn),來(lái)得快,去得也快。但是,從載入史冊(cè)的那一天,一個(gè)聰明人為大家長(zhǎng)期以來(lái)一直使用的技術(shù)想出一個(gè)別致的名字到現(xiàn)在,已經(jīng)幾年過去,我們依然前行。有人會(huì)說(shuō),沒有什么真正的思想,只不過是有了個(gè)好名字而已。真是那樣嗎? 直至今日,Ajax的宣傳聲勢(shì)仍然不減,這一事實(shí)說(shuō)明,Ajax可能的確有過人之處。實(shí)際上,當(dāng)人們從最初的驚喜和營(yíng)銷的迷霧中走出來(lái),真正開始理解并應(yīng)用一種技術(shù),認(rèn)識(shí)到其中實(shí)實(shí)在在的好處時(shí),炒作的成分也就所剩無(wú)幾了。Ajax不僅僅只有一個(gè)好名字,它是有實(shí)貨的技術(shù)。這一點(diǎn)是毋庸置疑的! 我編寫本書的一個(gè)重要原因,就是讓編程人員了解,為什么Ajax不只是一時(shí)的流行貨,而是一種大變革,我們必須在實(shí)戰(zhàn)中去了解它。我們閱讀了所有想要的白皮書,琢磨了所有能找到的介紹性文章,然而我們?nèi)匀桓械嚼Щ螅骸癘K,我理解了它的原理,但如何實(shí)際運(yùn)用它呢?”我寫這本書的目的就是向編程人員展示如何將Ajax巧妙地運(yùn)用到真實(shí)的應(yīng)用程序中。
內(nèi)容概要
本書通過對(duì)一些有趣實(shí)用的Java Web 開發(fā)項(xiàng)目進(jìn)行由淺入深的分析,引導(dǎo)開發(fā)人員了解基于Java 的Ajax 在實(shí)際應(yīng)用中的各種方法和技術(shù),并幫助開發(fā)人員從傳統(tǒng)的開發(fā)方式逐步平穩(wěn)地轉(zhuǎn)換到Web 2.0 開發(fā)方式中。 本書不僅可作為Java Web 開發(fā)新手的實(shí)驗(yàn)教程,對(duì)于中級(jí)Java Web 開發(fā)人員來(lái)說(shuō),也是一本實(shí)用的參考手冊(cè)和進(jìn)階指導(dǎo)材料。
作者簡(jiǎn)介
Frank W.Zammetti世界知名的Web開發(fā)專家,Omrlytex公司的創(chuàng)始人和首席軟件架構(gòu)師,曾經(jīng)擴(kuò)展Struts的AjaxTags,使Struts具備Ajax功能。除本書外,他還撰寫了《Ajax DWR開發(fā)實(shí)戰(zhàn)》(人民郵電出版社即將出版)以及Dojo和、JavaScrrpt等方面的多部暢銷書。
書籍目錄
第一部分 使用Ajax和Java編程 第1章 Ajax:勇闖新世界 1.1 Web開發(fā)簡(jiǎn)史:“經(jīng)典”模型 1.2 經(jīng)典Web的問題 1.3 走進(jìn)Ajax 1.4 為什么說(shuō)Ajax是一場(chǎng)革命?通向RIA之路 1.5 第一個(gè)Ajax示例 1.6 Ajax工具包的選擇 1.7 Ajax的替代方法 1.8 小結(jié) 第2章 Ajax的支柱 2.1 JavaScript基礎(chǔ) 2.1.1 變量、作用域和函數(shù) 2.1.2 關(guān)鍵字 2.1.3 空白 2.1.4 分號(hào) 2.1.5 注釋 2.1.6 字面量、數(shù)組和對(duì)象初始化程序 2.1.7 數(shù)據(jù)類型 2.1.8 匿名函數(shù) 2.1.9 內(nèi)存管理 2.2 面向?qū)ο蟮腏avaScript 2.3 DOM和腳本編程:在運(yùn)行中操縱內(nèi)容 2.4 XML:描述語(yǔ)言的語(yǔ)言 2.5 在JavaScript中解析XML 2.6 CSS 2.7 小結(jié) 第3章 服務(wù)器端 3.1 項(xiàng)目開發(fā)環(huán)境 3.2 Ant:以開源的方式構(gòu)建Java應(yīng)用程序 3.3 Apache Tomcat 3.4 Web應(yīng)用、servlet、JSP和在服務(wù)器上解析XML 3.4.1 Web應(yīng)用 3.4.2 servlet 3.4.3 JSP 3.4.4 在服務(wù)器上解析XML 3.5 安裝和使用應(yīng)用程序 3.6 小結(jié) 第二部分 開發(fā)項(xiàng)目 第4章 Karnak:輸入前提示 4.1 需求和目標(biāo) 4.2 如何實(shí)現(xiàn) 4.3 最終呈現(xiàn) 4.4 研究解決方案 4.4.1 客戶端代碼 4.4.2 服務(wù)器端代碼 4.5 推薦練習(xí) 4.6 小結(jié) 第5章 InstaMail:基于Ajax的webmail客戶端 5.1 需求和目標(biāo) 5.2 如何實(shí)現(xiàn) 5.3 最終呈現(xiàn) 5.4 研究解決方案 5.4.1 客戶端代碼 5.4.2 服務(wù)器端代碼 5.5 推薦練習(xí) 5.6 小結(jié) 第6章 AjaxReader:Ajax圖書必備內(nèi)容 6.1 需求和目標(biāo) 6.2 如何實(shí)現(xiàn) 6.3 最終呈現(xiàn) 6.4 研究解決方案 6.4.1 客戶端代碼 6.4.2 服務(wù)器端代碼 6.5 推薦練習(xí) 6.6 小結(jié) 第7章 PhotoShare:分享圖片 7.1 需求和目標(biāo) 7.2 如何實(shí)現(xiàn) 7.3 最終呈現(xiàn) 7.4 研究解決方案 7.4.1 客戶端代碼 7.4.2 服務(wù)器端代碼 7.5 推薦練習(xí) 7.6 小結(jié) 第8章 Organizer:管理個(gè)人信息 8.1 需求與目標(biāo) 8.2 如何實(shí)現(xiàn) 8.2.1 Prototype 8.2.2 WebWork 8.2.3 HSQLDB 8.2.4 Spring JDBC 8.3 最終呈現(xiàn) 8.4 研究解決方案 8.4.1 客戶端代碼 8.4.2 服務(wù)器端代碼 8.5 推薦練習(xí) 8.6 小結(jié) 第9章 AjaxChat:以Ajax方式聊天 9.1 需求和目標(biāo) 9.2 如何實(shí)現(xiàn) 9.3 最終呈現(xiàn) 9.4 研究解決方案 9.4.1 客戶端代碼 9.4.2 服務(wù)器端代碼 9.5 推薦練習(xí) 9.6 小結(jié) 第10章 AJAX勇士游戲:回到未來(lái) 10.1 需求和目標(biāo) 10.2 如何實(shí)現(xiàn) 10.2.1 多用途的函數(shù)和集中式Ajax 10.2.2 JSON 10.3 最終呈現(xiàn) 10.4 研究解決方案 10.4.1 客戶端代碼 10.4.2 服務(wù)器端代碼 10.5 推薦練習(xí) 10.6 小結(jié) 附錄A XMLHttpRequest對(duì)象 附錄B 庫(kù)、網(wǎng)站和圖書
章節(jié)摘錄
第一部分 使用Ajax和Java編程 第1章 Ajax:勇闖新世界 對(duì)于第一次接觸Ajax,尤其是剛剛接觸web開發(fā)的人來(lái)說(shuō),本章可以作為了解后面內(nèi)容的一個(gè)不錯(cuò)的熱身。然而,已經(jīng)具有一些經(jīng)驗(yàn),尤其是對(duì)AjaX并不陌生的開發(fā)人員,可以跳過本章,因?yàn)閷?duì)他們來(lái)說(shuō)本章很可能只是一次復(fù)習(xí)。我們首先介紹過去大約15年以來(lái)應(yīng)用(尤其是web應(yīng)用)的發(fā)展過程。你會(huì)發(fā)現(xiàn),應(yīng)用程序的基本結(jié)構(gòu)經(jīng)歷了一個(gè)有趣的循環(huán)。接下來(lái)將介紹一些非常不錯(cuò)的AjaX實(shí)戰(zhàn)示例,并討論AjaX為什么如此重要,以及它是怎樣從根本上改變應(yīng)用程序開發(fā)的。第一個(gè)代碼示例會(huì)以非常簡(jiǎn)單而基礎(chǔ)的方式J~Ajax。我們還會(huì)簡(jiǎn)單地談及Ajax競(jìng)爭(zhēng)技術(shù),以及一些已有的使AjaX更加易用的庫(kù)和工具包?! ?.1 Web開發(fā)簡(jiǎn)史:“經(jīng)典”模型 web剛出現(xiàn)時(shí)的確不錯(cuò)。各種各樣易記的新單詞、詞組和術(shù)語(yǔ)進(jìn)入了詞典,而且在我們說(shuō)起這些新詞時(shí),感覺它愈發(fā)地酷了。隨著我們的工作漸漸為人所知,web應(yīng)用(Webapp)這個(gè)詞出現(xiàn)了。這些應(yīng)用程序有點(diǎn)像回到了分時(shí)訪問方式的大型機(jī)時(shí)代。它們無(wú)論從使用方式還是外觀上都不如隨后出現(xiàn)的Visual Basic、PowerBuilder和C++“胖客戶端”(雖然它們Web應(yīng)用出現(xiàn)后少了,但仍在使用)那樣光彩奪目,而且那些胖客戶端完成了并仍然在做很多工作,就像那些舊的分時(shí)系統(tǒng)一樣。 如果認(rèn)真考慮一下,就會(huì)發(fā)現(xiàn)應(yīng)用程序開發(fā)其實(shí)走了一個(gè)循環(huán)。如果按時(shí)間從前向后梳理一遍,就會(huì)發(fā)現(xiàn)這一點(diǎn)?! ∥覀兙蛷纳栽绲臅r(shí)代開始。在這個(gè)時(shí)代,應(yīng)用程序采用了大家基本能夠理解的形式。首先用簡(jiǎn)單的終端仿真設(shè)備(我們就不講實(shí)際終端啦)來(lái)訪問遠(yuǎn)程運(yùn)行進(jìn)程。圖1-1所示的屏幕就是這類應(yīng)用程序的典型例子。 TN3270屏幕還是有些意義,因?yàn)樗鼈內(nèi)匀淮罅勘皇褂?,尤其在商業(yè)領(lǐng)域中,任何做過一些大型機(jī)工作的人都可以作證。有兩件有趣的事情需要注意。第一,注意NINUI(用戶界面)的簡(jiǎn)單特性——它們只是文本,通常限制在80列25行,只有極其有限的數(shù)據(jù)輸入能力——基本上只是可編輯的映射區(qū)域。下拉列表、復(fù)選框和網(wǎng)格等在這個(gè)領(lǐng)域中是完全未知的。如果碰到一個(gè)寫得很好的應(yīng)用程序,那么可能幸運(yùn)地看到如下的實(shí)際菜單: C.創(chuàng)建記錄 D.刪除記錄 E. 編輯記錄 如果不走運(yùn),有可能會(huì)是如下的信息: ……01A7COD9ABABACOO ……89A683E34D79E998 如果你從來(lái)沒有用過大型機(jī),那么下面簡(jiǎn)單地介紹一下。在大型機(jī)中編輯文件(文件又叫數(shù)據(jù)集)通常使用叫做Ts0/IsPF的工具。這只是一種文本編輯器,能夠在文本顯示和十六進(jìn)制顯示間進(jìn)行轉(zhuǎn)換。上文是內(nèi)容的十六進(jìn)制顯示,每一行前面的點(diǎn)組成命令區(qū)。例如,在以89開頭的行上面加入一行,就需要把該行的第一個(gè)點(diǎn)替換為i,然后按回車鍵;如果想刪除以01開頭的行和剛插入的那一行,就需要把以01開頭的行的前兩個(gè)點(diǎn)換成dd,然后在剛剛插入的行的同樣位置也鍵入dd,再按回車鍵。(dd用來(lái)刪除行塊,可以使用單個(gè)d來(lái)刪除單行。) 第二點(diǎn)更重要,就是當(dāng)用戶執(zhí)行了一些需要應(yīng)用程序響應(yīng)的動(dòng)作時(shí)會(huì)發(fā)生什么。很多時(shí)候,主機(jī)會(huì)重繪整個(gè)屏幕,包括那些不會(huì)因?yàn)樵摬僮鞫淖兊牟糠?。每個(gè)操作都在主機(jī)上執(zhí)行,基本沒有本地處理。甚至對(duì)于簡(jiǎn)單的客戶端輸入驗(yàn)證也沒有本地處理,它僅僅是遠(yuǎn)程應(yīng)用程序狀態(tài)的一個(gè)展示?! ‰S著PC的出現(xiàn),本地處理能力提高了很多,出現(xiàn)了新的趨勢(shì)。這個(gè)時(shí)候我們看到,應(yīng)用程序開始存放在本地而不是中央主機(jī)上,至少部分應(yīng)用程序是在本地執(zhí)行的。很多時(shí)候,整個(gè)應(yīng)用程序本身是在用戶使用的機(jī)器上運(yùn)行的。隨著微軟公司的windows的流行,“胖客戶端”開始被人們所熟知,而它實(shí)際上很快成了應(yīng)用程序開發(fā)的事實(shí)標(biāo)準(zhǔn)。在這種方式中,uI的功能和用戶友好性極大地提高了,而集中的中央硬件在很多地方不再那么重要了(數(shù)據(jù)庫(kù)服務(wù)器之類的不在此碉1)。圖1-2中所示的屏幕開始成為規(guī)范。 注意,圖1-2里的UI元素是多么的豐富。顯然,這里的UI已有所改進(jìn)?!案倪M(jìn)”當(dāng)然是相對(duì)的,換個(gè)環(huán)境它就不是更好。可以想象,那些整天低頭輸入數(shù)據(jù)的人可能傾向于使用舊的綠屏幕,因?yàn)樗鼈儗?duì)于鍵盤輸入更加高效。……
媒體關(guān)注與評(píng)論
“如果你想結(jié)合Ajax前端技術(shù)和Java服務(wù)器端技術(shù)來(lái)構(gòu)建Web 2.0應(yīng)用,我強(qiáng)烈推薦你學(xué)習(xí)這本實(shí)戰(zhàn)佳作……Frank W.Zammetti總是在輕松詼諧的氣氛中讓你領(lǐng)悟一流的技術(shù)?!薄 猻lashdot.org “本書能為你的開發(fā)節(jié)省大量時(shí)間,并且大大深化你對(duì)Ajax技術(shù)的理解?!薄 猨avapassion.com “如果你想使用最新最熱門的Ajax技術(shù)進(jìn)行Web開發(fā),本書將是最佳選擇?!薄 猘jaxian.com
編輯推薦
跟世界級(jí)專家現(xiàn)場(chǎng)學(xué)習(xí)Web2.0/Ajax開發(fā),自己開發(fā)Gmail、Flickr、網(wǎng)摘和純Ajax游戲,綜合運(yùn)用Struts、Prototype、DWR/Dojo等眾多最炫的技術(shù)。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
JavaWeb2.0項(xiàng)目開發(fā)實(shí)戰(zhàn) PDF格式下載