《瘋狂Ajax講義(第3版)》
基本資料
作者: 李剛 [作譯者介紹]
出版社:清華大學出版社
ISBN:9787121193941
上架時間:2013-2-4
出版日期:2013 年2月
開本:16開
頁碼:636
版次:1-1
所屬分類:電腦 > 軟體與程式設計 > 網路編程 > javascript
更多關於 》》》《瘋狂Ajax講義(第3版)》
內容簡介
電腦書籍
《瘋狂ajax講義(第3版)——jquery/ext js/prototype/dwr公司專屬應用程式前端開發實戰》為《瘋狂ajax講義》的第3版,其中jquery升級到1.8版本;prototype升級到1.7.1版本;dwr升級到3.0版本。第3版最大更新是詳細、全面地介紹了ext js 4.1的知識。由於ext js 4.1本身內容比較多,因此本書花了幾百頁來介紹ext js的功能和用法,這部分內容獨立出來即可作為ext js 4.1的學習手冊。
《瘋狂ajax講義(第3版)——jquery/ext js/prototype/dwr公司專屬應用程式前端開發實戰》詳細介紹了jquery 1.8、ext js 4.1、prototype 1.7.1、dwr這4個最常用的ajax架構的用法,並針對每個架構提供了一個實用案例,讓讀者理論聯絡實際。這部分內容是“瘋狂軟體教育中心”的標準講義,它既包含了實際ajax開發的重點和痛點,也融入了大量學習者的學習經驗和感悟。再由筆者以豐富的授課經驗為基礎,深入淺出地介紹它們,希望讀者真正掌握ajax開發的精髓。本書最後提供了2個綜合性案例:blog系統和電子拍賣系統,讓讀者將前面所學真正應用到實際項目中。電子拍賣系統是一個包含5個表、表之間具有複雜關聯映射的系統,該案例採用目前最流行、最規範的輕量級java ee架構,將整個應用分為領域對象層、dao層、商務邏輯層, 然後用dwr作為ajax引擎調用商務邏輯方法響應非同步請求,系統許可權檢查延遲到商務邏輯層完成,並使用http session跟蹤使用者操作狀態,從而避免使用者重新整理瀏覽器導致的瀏覽狀態丟失。該案例對實際項目具有極好的指導價值和借鑒意義。該案例既提供了ide無關的、基於ant管理的項目源碼,也提供了基於eclipse ide的項目源碼,最大限度地滿足讀者的需求。如果在閱讀本書時遇到任何技術問題,都可登入http://www.crazyit.org與本書龐大的讀者群交流。
《瘋狂ajax講義(第3版)——jquery/ext js/prototype/dwr公司專屬應用程式前端開發實戰》並非針對零基礎的讀者,書中不再包含html、css、javascript相關知識,這些知識是閱讀本書的基礎。本書適合有初步html、css、javascript基礎的讀者,或對公司專屬應用程式前端開發不太熟悉的開發人員。如果你已經掌握本書上篇:《瘋狂html 5/css 3/javascript講義》內容,將非常適合閱讀此書。
目錄
《瘋狂ajax講義(第3版)——jquery/ext js/prototype/dwr公司專屬應用程式前端開發實戰》
第1章 ajax概述與ajax初體驗 1
1.1 重新思考web應用 2
1.1.1 應用系統的發展史 2
1.1.2 傳統web應用的優勢和缺點 5
1.2 重新設計web應用 5
1.2.1 富internet應用 6
1.2.2 使用ajax 7
1.3 ajax技術介紹 7
1.3.1 ajax的工作方式 8
1.3.2 ajax技術核心:xmlhttprequest 8
1.3.3 ajax的編程指令碼:javascript語言 8
1.3.4 html頁面的dom模型 9
1.3.5 動態載入和顯示資料 9
1.3.6 ajax的特徵 10
1.3.7 ajax帶來的典型優勢 11
1.4 開發傳統的b/s聊天室 13
1.4.1 實現商務邏輯組件 14
1.4.2 實現控制器 16
1.4.3 實現視圖 18
.1.4.4 傳統b/s聊天室的問題 19
1.5 ajax聊天室 20
1.5.1 非同步發送請求 20
1.5.2 解決多餘重新整理的問題 22
1.5.3 解析伺服器響應 24
1.5.4 何時發送請求 25
1.5.5 ajax聊天室的特點 29
1.6 ajax編程的技術痛點 29
1.7 傳統web應用與ajax應用的對比 31
1.8 本章小結 32
第2章 xmlhttprequest對象詳解 33
2.1 xmlhttprequest對象概述 34
2.2 xmlhttprequest的方法和屬性 34
2.2.1 xmlhttprequest的方法 35
2.2.2 xmlhttprequest的屬性 38
2.3 發送請求 41
2.3.1 發送簡單請求 41
2.3.2 發送get請求 43
2.3.3 發送post請求 46
2.3.4 發送請求時的編碼問題 47
2.3.5 發送xml請求 51
2.4 處理伺服器響應 54
2.4.1 處理的時機 54
2.4.2 使用文本響應 54
2.4.3 使用json響應 54
2.5 xmlhttprequest對象的運行周期 57
2.6 ajax必須解決的問題 58
2.6.1 跨瀏覽器問題 58
2.6.2 安全性問題 59
2.6.3 效能問題 61
2.7 本章小結 65
第3章 jquery庫詳解 66
3.1 jquery入門 67
3.1.1 理解jquery的設計 67
3.1.2 下載和安裝jquery 68
3.1.3 讓jquery與其他javascript庫共存 69
3.2 擷取jquery對象 69
3.2.1 jquery核心函數 70
3.2.2 jquery與jquery.holdready 71
3.2.3 以css選取器訪問dom元素 72
3.2.4 選取器的附加限定詞 74
3.2.5 表單相關的選取器 77
3.3 jquery操作類數組的工具方法 80
3.3.1 過濾相關方法 81
3.3.2 仿dom導航尋找的相關方法 83
3.3.3 連結方法 85
3.4 jquery支援的方法 86
3.4.1 jquery命名空間的方法 86
3.4.2 資料存放區的相關方法 90
3.4.3 操作屬性的相關方法 91
3.4.4 操作css屬性的相關方法 93
3.4.5 操作元素內容的相關方法 96
3.4.6 操作dom節點的相關方法 98
3.5 jquery事件相關方法 103
3.5.1 綁定事件處理函數 103
3.5.2 特定事件相關的方法 105
3.5.3 事件對象 106
3.6 動畫效果相關的方法 108
3.6.1 簡單動畫和複雜動畫 108
3.6.2 操作動畫隊列 111
3.7 jquery的回調支援 112
3.7.1 回調支援的基本用法 112
3.7.2 建立callbacks支援的選項 114
3.8 ajax相關方法 116
3.8.1 三個工具方法 116
3.8.2 使用load方法 117
3.8.3 jquery.ajax(options)與jquery.ajaxsetup(options) 119
3.8.4 使用get/post方法 120
3.9 jquery的deferred對象 123
3.9.1 jquery的非同步呼叫 123
3.9.2 為多個耗時操作指定回呼函數 127
3.9.3 為普通對象增加defered介面 127
3.9.4 jquery對象的promise方法 128
3.10 擴充jquery和jquery外掛程式 129
3.11 本章小結 130
第4章 基於jquery的應用:電子相簿系統 131
4.1 實現持久層 132
4.1.1 實現持久化類 132
4.1.2 配置sessionfactory 134
4.2 實現dao組件 135
4.2.1 開發通用dao組件 136
4.2.2 dao介面定義 139
4.2.3 完成dao組件的實作類別 139
4.3 實現商務邏輯層 141
4.3.1 實現商務邏輯組件 141
4.3.2 配置商務邏輯組件 143
4.4 實現用戶端調用 144
4.4.1 訪問商務邏輯組件 144
4.4.2 處理使用者登入 145
4.4.3 獲得使用者相片列表 148
4.4.4 處理翻頁 149
4.4.5 通過隱藏iframe實現檔案上傳 150
4.4.6 頁面載入時的處理 154
4.5 本章小結 155
第5章 ext js核心技術詳解 157
5.1 ext js入門 158
5.1.1 下載和安裝ext js 158
5.1.2 ext 入門樣本 159
5.1.3 使用ext js文檔 160
5.2 核心工具方法 162
5.2.1 ext的屬性和擷取瀏覽器特性 162
5.2.2 onready方法 163
5.2.3 ext.defer方法 163
5.2.4 ext.apply和ext.applyif方法 164
5.2.5 ext.define、ext.create和ext.extend方法 166
5.2.6 ext.isxxx方法 169
5.2.7 ext.each和ext.iterate方法 169
5.2.8 ext.namespace方法 170
5.3 ext js擴充的工具方法 171
5.3.1 為array擴充的工具方法 171
5.3.2 為date擴充的工具方法 173
5.3.3 為function擴充的工具方法 173
5.3.4 為number擴充的工具方法 174
5.3.5 為object擴充的工具方法 175
5.3.6 為string擴充的工具方法 175
5.3.7 json支援 176
5.4 簡化的dom操作 177
5.4.1 ext.get、ext.getxxx和ext.fly方法 177
5.4.2 ext.query、ext.select方法與ext.dom.query工具類 178
5.4.3 dom元素的常用操作 182
5.4.4 使用ext.domhelper、ext.template動態產生html 188
5.5 動畫處理 192
5.5.1 使用ext.fx.anim實現簡單動畫 192
5.5.2 使用ext.fx.animator實現多主要畫面格動畫 194
5.5.3 為元素增加動畫 195
5.6 ext js的事件處理 197
5.6.1 使用ext.eventmanager管理事件處理函數與ext.eventobject事件對象 197
5.6.2 事件處理函數的執行範圍和附加選項 200
5.6.3 使用ext.util.observable實現內部事件 201
5.7 工具 + 生產力集 203
5.7.1 ext.util.hashmap與ext.util.mixedcollection 203
5.7.2 使用ext.util.cookies操作cookie 204
5.7.3 使用ext.util.delayedtask 處理延時任務 205
5.7.4 封裝單擊事件:ext.util.clickrepeater 205
5.7.5 使用ext.util.taskrunner與ext.taskmanager 206
5.7.6 使用ext.util.keymap與ext.util.keynav為元素處理按鍵事件 207
5.8 拖放 209
5.8.1 使用ext.dd.dd和ext.dd.ddproxy建立可拖放元素 209
5.8.2 用ext.dd.dragsource建立拖動源與用ext.dd.droptarget建立放目標 210
5.8.3 用ext.dd.dragzone建立拖動源與用ext.dd.dropzone建立放目標 212
5.9 ajax支援 214
5.10 本章小結 217
第6章 ext js介面組件詳解 218
6.1 容器、面板和視窗 219
6.1.1 使用ext.component 220
6.1.2 使用ext.container.container建立容器 222
6.1.3 使用ext.panel.panel建立面板 223
6.1.4 使用ext.toolbar.toolbar添加工具條 226
6.1.5 使用ext.tab.panel建立tab面板 229
6.1.6 使用ext.container.viewport整體布局 231
6.1.7 使用ext.window.window建立視窗 234
6.1.8 使用ext.window.messagebox建立對話方塊 235
6.2 布局 238
6.2.1 容器與布局的關係 238
6.2.2 垂直布局與水平布局 238
6.2.3 使用ext.resizer.resizer為組件增加大小調整功能 239
6.2.4 使用ext.resizer.splitter為盒布局增加大小調整的功能 241
6.2.5 使用ext.layout.container.accordion實現摺疊布局 242
6.2.6 使用ext.layout.container.border實現邊框布局 244
6.2.7 使用ext.layout.container.table實現表格版面配置 245
6.2.8 使用ext.layout.container.column實現列布局 246
6.2.9 使用ext.layout.container.auto實現自動布局 248
6.2.10 使用ext.layout.container.fit實現調適型配置 249
6.2.11 使用ext.layout.container.card實現卡片布局 250
6.2.12 使用ext.layout.container.anchor實現錨布局 252
6.2.13 使用ext.layout.container.absolute實現絕對布局 253
6.3 菜單及功能表項目 254
6.3.1 使用菜單 254
6.3.2 使用ext.menu.checkitem實現可勾選功能表項目 256
6.3.3 使用ext.menu.colorpicker建立顏色選取器菜單 257
6.3.4 使用ext.menu.datepicker建立日期選擇菜單 258
6.4 按鈕 259
6.4.1 使用按鈕 259
6.4.2 帶菜單的按鈕 261
6.4.3 帶分割線的按鈕:ext.button.split 263
6.4.4 多狀態按鈕:ext.button.cycle 264
6.4.5 使用ext.container.buttongroup建立按鈕組 266
6.4.6 使用ext.action 267
6.5 其他組件及實用功能 270
6.5.1 使用ext. progressbar建立進度條 270
6.5.2 使用ext.slider.single建立滑動條 274
6.5.3 使用ext.slider.multi建立多滑塊滑動條 276
6.5.4 使用ext.img建立圖片 277
6.5.5 使用ext.editor建立編輯器 278
6.5.6 使用ext.tip.tooltip建立提示 279
6.5.7 使用ext.tip.quicktipmanager和ext.tip.quicktip建立提示 283
6.5.8 使用ext.ux.gmappanel實現google地圖 284
6.6 表單 286
6.6.1 使用ext.form.panel與ext.form.basic建立表單 288
6.6.2 配置輸入校正選項 292
6.6.3 使用vtype選項配置輸入校正 294
6.6.4 使用ext.form.action.submit提交表單 297
6.6.5 使用ext.form.action.load為表單裝載資料 300
6.6.6 使用ext.form.action.standardsubmit提交表單 303
6.6.7 單行文字框、密碼框 303
6.6.8 使用ext.form.field.number 建立數值框 305
6.6.9 使用ext.form.field.date建立日期選擇框 306
6.6.10 使用ext.form.field.spinner建立微調選擇框 308
6.6.11 使用ext.form.field.textarea建立文本域 309
6.6.12 使用ext.form.field.htmleditor建立富文字編輯器 310
6.6.13 使用ext.form.field.file上傳檔案 311
6.6.14 使用ext.form.field.checkbox建立複選框 314
6.6.15 使用ext.form.field.radio建立選項按鈕 317
6.6.16 使用ext.form.field.combobox建立複合框 319
6.6.17 使用遠端資料、querymode為local的複合框 321
6.6.18 querymode為remote的複合框 323
6.6.19 為ext.form.field.combobox增加分頁功能 325
6.6.20 實現ext.form.field.combobox二級聯動 327
6.6.21 使用ext.form.fieldset組合表單控制項 330
6.7 ext js的資料中心 332
6.7.1 ext.data.model與ext.data.field 332
6.7.2 使用ext.data.proxy.proxy和ext.data.reader.reader讀取資料 335
6.7.3 ext.data.store及其子類 336
6.8 使用ext.grid.panel產生表格 337
6.8.1 使用ext.grid.panel產生表格 337
6.8.2 使用ext.grid.column.column定義列 339
6.8.3 使用ext.grid.panel顯示遠端資料 342
6.8.4 對ext.grid.panel表格進行分頁 343
6.8.5 對本機資料進行分頁 344
6.8.6 表格式資料排序和過濾 346
6.8.7 通過表格特性對錶格資料進行分組 347
6.8.8 開發動態編輯的表格 349
6.8.9 允許拖動資料的表格 352
6.8.10 使用ext.grid.column.action 動作表格資料 356
6.9 使用ext.tree.panel產生樹 360
6.9.1 樹有關的類及簡單樹 360
6.9.2 添加、刪除、修改樹節點 362
6.9.3 帶複選框的樹節點 365
6.9.4 表格樹 366
6.9.5 非同步載入樹節點 368
6.9.6 樹節點的拖放與通過拖放更新底層資料 372
6.10 本章小結 376
第7章 prototype庫詳解 377
7.1 prototype的下載和安裝 378
7.1.1 什麼是prototype庫 378
7.1.2 下載和安裝prototype庫 379
7.1.3 使用prototype對象 379
7.2 prototype的工具函數 380
7.2.1 使用$()函數 380
7.2.2 使用$$()函數 382
7.2.3 使用$a()函數 384
7.2.4 使用$f()函數 385
7.2.5 使用$w()函數 386
7.2.6 使用$h()函數 386
7.2.7 使用$r()函數 387
7.2.8 使用try.these()函數 388
7.3 prototype的json支援 389
7.4 prototype的自訂對象和類 390
7.4.1 使用element對象 390
7.4.2 使用element.methods 394
7.4.3 使用enumerable 394
7.4.4 使用objectrange 398
7.4.5 使用form.element動作表單控制項 399
7.4.6 使用form動作表單 400
7.4.7 使用hash對象 402
7.4.8 使用event 404
7.4.9 使用template 405
7.4.10 使用class 406
7.4.11 兩個常用的監聽器 407
7.5 prototype常用的擴充 409
7.5.1 擴充array 409
7.5.2 擴充document 410
7.5.3 擴充string 411
7.5.4 擴充function 414
7.5.5 擴充number 415
7.6 prototype的ajax支援 416
7.6.1 使用ajax.request類 416
7.6.2 利用form.request方法 420
7.6.3 使用ajax.responders對象 421
7.6.4 使用ajax對象 422
7.6.5 使用ajax.updater類 423
7.6.6 使用ajax.periodicalupdater類 426
7.7 本章小結 428
第8章 基於prototype庫的應用:自動完成 429
8.1 應用的基本分析和持久層設計 430
8.1.1 資料要求 430
8.1.2 實現持久化類 430
8.1.3 實現dao組件 432
8.1.4 部署dao組件 434
8.2 實現service組件 435
8.3 使用servlet提供伺服器響應 437
8.3.1 根據首碼查詢品牌 438
8.3.2 根據品牌查詢型號 439
8.3.3 根據型號查詢詳細資料 439
8.4 用戶端html頁面實現 440
8.5 增加html頁面的事件響應能力 442
8.5.1 實現品牌輸入框的事件處理器 442
8.5.2 實現鍵盤事件的處理器 444
8.5.3 根據品牌提示型號 446
8.5.4 根據型號顯示描述 447
8.5.5 註冊ajax事件監聽器 448
8.6 本章小結 449
第9章 dwr架構詳解 451
9.1 dwr的下載和安裝 452
9.1.1 什麼是dwr 452
9.1.2 下載和安裝dwr 453
9.2 使用dwr 457
9.2.1 編寫處理類 458
9.2.2 配置dwr 460
9.3 使用dwr的轉換器 461
9.3.1 基本轉換器 461
9.3.2 對象轉換器 462
9.3.3 數群組轉換器 464
9.3.4 集合類型轉換器 464
9.4 方法聲明定義 465
9.5 使用dwr的建立器 466
9.5.1 建立器的配置 466
9.5.2 使用new建立器 468
9.5.3 使用none建立器 469
9.5.4 使用script建立器 469
9.6 調用伺服器端的方法 470
9.6.1 調用伺服器端方法的通用配置 471
9.6.2 使用簡單回調 472
9.6.3 使用json格式的回調 476
9.6.4 將用戶端參數傳遞到回呼函數 479
9.7 使用engine.js 480
9.7.1 設定調用順序 480
9.7.2 設定全域逾時時間長度 481
9.7.3 設定全域hook函數 481
9.7.4 設定全域處理函數 481
9.7.5 設定常用的全域選項 482
9.7.6 批處理 482
9.8 使用util.js 483
9.8.1 使用$() 483
9.8.2 處理列表 483
9.8.3 處理表格 488
9.8.4 訪問html元素值 492
9.8.5 幾個工具函數 494
9.9 整合第三方java ee架構 496
9.9.1 訪問servlet api 496
9.9.2 整合spring 500
9.10 使用dwr注釋 502
9.10.1 初始配置 502
9.10.2 標註建立器和轉換器 503
9.11 異常處理 504
9.12 反向ajax 506
9.12.1 配置反向ajax 506
9.12.2 在java方法中操作web頁 507
9.12.3 在用戶端調用反向ajax方法 509
9.13 dwr 3簡化的檔案上傳 510
9.13.1 檔案上傳的處理類 510
9.13.2 調用javascript完成檔案上傳 512
9.14 本章小結 514
第10章 基於dwr的應用:立即訊息系統 515
10.1 實現hibernate持久層 516
10.1.1 實現持久化類 516
10.1.2 將pojo映射成持久化對象 518
10.2 實現dao組件 519
10.2.1 實現dao組件 519
10.2.2 部署dao組件 520
10.3 實現商務邏輯組件 521
10.3.1 商務邏輯組件的介面 521
10.3.2 商務邏輯組件的實作類別 522
10.3.3 部署商務邏輯組件 525
10.4 開發dwr前端處理類 526
10.4.1 實現dwr前端處理組件 526
10.4.2 為前端處理器增加許可權控制 528
10.5 處理非同步請求 529
10.5.1 將spring容器中的bean建立成javascript對象 529
10.5.2 處理使用者登入 531
10.5.3 處理使用者註冊 532
10.5.4 處理訊息發布 534
10.5.5 擷取訊息列表 535
10.5.6 處理分頁 536
10.5.7 查看訊息內容 537
10.5.8 頁面載入時的處理 538
10.6 本章小結 539
第11章 基於ext js 4.1的應用:簡易blog系統 540
11.1 實現hibernate持久層 541
11.1.1 設計hibernate的持久化類 541
11.1.2 完成對應檔 543
11.2 實現dao組件 545
11.2.1 dao介面定義 546
11.2.2 實現dao組件 546
11.2.3 配置dao組件 547
11.3 實現商務邏輯組件 548
11.3.1 商務邏輯組件的介面 548
11.3.2 商務邏輯組件的實作類別 549
11.3.3 配置商務邏輯組件 552
11.4 使用ext js開發前端 553
11.4.1 初始化介面 553
11.4.2 顯示指定blog文章 557
11.4.3 顯示回複列表 559
11.4.4 添加回複 561
11.4.5 發表新blog文章 565
11.5 本章小結 569
第12章 ajax執行個體:電子拍賣系統 570
12.1 總體說明和概要設計 571
12.1.1 系統的總體架構設計 571
12.1.2 資料庫設計 572
12.2 實現hibernate持久化類 573
12.2.1 設計domain object 574
12.2.2 實現domain object 575
12.3 dao層實現 579
12.3.1 dao的基礎配置 579
12.3.2 實現dao組件 580
12.3.3 部署dao組件 583
12.4 商務邏輯層實現 584
12.4.1 設計商務邏輯組件 584
12.4.2 依賴注入dao組件 586
12.4.3 商務邏輯組件的異常處理 587
12.4.4 處理使用者競價 588
12.4.5 判斷拍賣物品狀態 590
12.4.6 交易管理 592
12.4.7 配置業務層組件 592
12.5 暴露前端處理方法 595
12.5.1 定義dwr前端處理類 595
12.5.2 初始化spring容器 597
12.5.3 配置dwr的核心servlet 597
12.5.4 暴露前端處理方法 598
12.5.5 對前端處理方法增加許可權檢查 600
12.6 調用前端處理方法響應使用者請求 601
12.6.1 頁面載入時的函數 601
12.6.2 處理返回首頁的請求 602
12.6.3 瀏覽所有流拍物品 602
12.6.4 處理使用者登入 605
12.6.5 管理物品 609
12.6.6 管理物品種類 612
12.6.7 查看競得物品 616
12.6.8 查看自己的競價記錄 617
12.6.9 瀏覽拍賣物品 619
12.6.10 參與競價 621
12.7 本章小結 624
本圖書資訊來源:中國互動出版網