注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)Seam實(shí)戰(zhàn)

Seam實(shí)戰(zhàn)

Seam實(shí)戰(zhàn)

定 價(jià):¥89.00

作 者: (美)艾倫 著,崔毅 等譯
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈程序設(shè)計(jì)叢書
標(biāo) 簽: J2EE

ISBN: 9787115224644 出版時(shí)間: 2010-06-01 包裝: 平裝
開本: 大16開 頁(yè)數(shù): 481 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書深入講解了JBoss Seam,介紹了Seam如何消除了不必要的層和配置,解決了JSF最常見的難點(diǎn),建立了JSF、EJB 3和JavaBean組件間缺少的鏈接。書中也介紹了如何利用Seam進(jìn)行技術(shù)綜合,如業(yè)務(wù)過程、有狀態(tài)的頁(yè)面流、Ajax遠(yuǎn)程處理、PDF生成、異步任務(wù)等。本書適用于Java程序員閱讀。

作者簡(jiǎn)介

  Dan Allen 資深軟件專家,精通Java框架、測(cè)試框架、JavaScript、DOM、CSS等。他還是開源技術(shù)的狂熱擁護(hù)者。我來評(píng)論這本書

圖書目錄

第一部分 了解Seam
第1章 Seam使Java EE一體化 2
1.1 我該選用哪種框架 3
1.2 選擇Seam 3
1.2.1 完整的應(yīng)用程序?!?
1.2.2 開發(fā)Seam的原因 4
1.2.3 “廠商壟斷”傳聞?wù)嫦唷?
1.2.4 Seam用例 6
1.3 Seam的統(tǒng)一方法 7
1.3.1 Seam整合了JSF、JPA和POJO組件 7
1.3.2 上下文組件模型 9
1.4 牛刀小試 12
1.4.1 充當(dāng)Backing Bean的實(shí)體類 12
1.4.2 全能的組件 13
1.4.3 將組件綁定到視圖上 14
1.4.4 按需獲取數(shù)據(jù) 16
1.4.5 可點(diǎn)擊列表 16
1.4.6 為JSF設(shè)計(jì)的集成測(cè)試 17
1.5 Seam的核心競(jìng)爭(zhēng)力 18
1.5.1 讓JSF變成能手 19
1.5.2 讓你快速構(gòu)建“富”應(yīng)用 21
1.5.3 構(gòu)建敏捷的開發(fā)環(huán)境 22
1.6 小結(jié) 23
第2章 seam-gen實(shí)踐 25
2.1 Open 18原型 25
2.1.1 整裝待發(fā) 26
2.1.2 將實(shí)體映射到數(shù)據(jù)庫(kù)Schema 27
2.2 讓seam-gen完成初始工作 30
2.2.1 seam-gen的特點(diǎn) 30
2.2.2 seam-gen提供的特性 31
2.3 用seam-gen啟動(dòng)項(xiàng)目 32
2.3.1 seam-gen命令一覽 32
2.3.2 與seam-gen的針鋒對(duì)話 34
2.3.3 創(chuàng)建基礎(chǔ)項(xiàng)目結(jié)構(gòu) 37
2.3.4 生成CRUD 38
2.4 將項(xiàng)目部署到JBoss應(yīng)用服務(wù)器 40
2.4.1 部署 40
2.4.2 展開 41
2.4.3 切換環(huán)境 42
2.4.4 啟動(dòng)JBoss應(yīng)用服務(wù)器 43
2.5 展示與講述、改變和重復(fù) 45
2.5.1 球場(chǎng)漫步 45
2.5.2 反向工程的過程 50
2.5.3 探討生成項(xiàng)目的結(jié)構(gòu) 53
2.6 快速開發(fā)seam-gen項(xiàng)目 56
2.6.1 增量熱部署 57
2.6.2 用IDE加速開發(fā) 60
2.7 小結(jié) 69
第二部分 Seam基礎(chǔ)知識(shí)
第3章 Seam的生命周期 72
3.1 Seam如何參與請(qǐng)求 73
3.1.1 Seam的開關(guān) 73
3.1.2 JSF Servlet:Seam的動(dòng)力 74
3.1.3 通過Seam的資源Servlet訪問資源 79
3.1.4 Seam的Servlet過濾器鏈 80
3.1.5 Seam的階段監(jiān)聽器 82
3.2 沒有Seam的JSF生命周期 83
3.2.1 JSF生命周期階段 84
3.2.2 初始請(qǐng)求 85
3.2.3 回傳 87
3.2.4 JSF生命周期的缺點(diǎn) 88
3.3 Seam面向頁(yè)面生命周期的附加功能 90
3.3.1 pages.xml的高級(jí)編排 90
3.3.2 智能導(dǎo)航 92
3.3.3 Seam UI命令組件 95
3.3.4 頁(yè)面參數(shù) 96
3.3.5 頁(yè)面動(dòng)作:先執(zhí)行我 100
3.4 頁(yè)面動(dòng)作與導(dǎo)航的結(jié)合 101
3.4.1 對(duì)請(qǐng)求進(jìn)行完整性檢查 102
3.4.2 內(nèi)建的頁(yè)面視圖 103
3.4.3 對(duì)搜索引擎友好的URL 104
3.5 Seam的JSF生命周期 106
3.5.1 階段監(jiān)聽器和Servlet過濾器 106
3.5.2 概覽增強(qiáng)的生命周期 106
3.6 用try-catch塊包圍生命周期 109
3.6.1 以優(yōu)雅的方式處理失敗 109
3.6.2 注冊(cè)異常處理器 109
3.6.3 將異常扼殺在萌芽中 110
3.7 小結(jié) 111
第4章 組件及其上下文 113
4.1 Seam的上下文命名容器 113
4.1.1 Seam的上下文模型 114
4.1.2 統(tǒng)一了Java的Servlet上下文 114
4.1.3 Seam中新的有狀態(tài)上下文 115
4.1.4 Seam中增強(qiáng)的Servlet上下文 116
4.2 組件的分類 117
4.2.1 組件與組件實(shí)例 117
4.2.2 Seam管理組件 118
4.3 用注解定義組件 119
4.3.1 給組件取個(gè)名稱 120
4.3.2 給組件一個(gè)作用域 121
4.4 完整的組件范例 122
4.4.1 創(chuàng)建實(shí)體組件 122
4.4.2 準(zhǔn)備動(dòng)作Bean組件 126
4.4.3 集成測(cè)試組件 127
4.4.4 讓組件“鉤進(jìn)”JSF 128
4.5 組件的一生 131
4.5.1 加載組件定義 131
4.5.2 何時(shí)安裝組件 132
4.5.3 給一個(gè)組件多個(gè)角色 134
4.5.4 在啟動(dòng)時(shí)實(shí)例化組件 135
4.5.5 組件生命周期回調(diào) 136
4.5.6 將組件組裝起來 138
4.5.7 所有組件在哪里結(jié)束生命周期 139
4.6 在Seam中使用EJB 3會(huì)話Bean 139
4.6.1 到底是誰的組件 140
4.6.2 Seam會(huì)話Bean組件的生成 141
4.6.3 整合機(jī)制 142
4.7 訪問組件 146
4.7.1 訪問模式 146
4.7.2 訪問策略 147
4.8 小結(jié) 153
第5章 Seam組件描述符 155
5.1 利用XML定義組件 156
5.1.1 描述符的選擇策略 156
5.1.2 組件描述符的結(jié)構(gòu) 157
5.1.3 細(xì)粒度組件描述符 159
5.2 組件描述符中的XML命名空間 160
5.2.1 XML命名空間聲明的作用 160
5.2.2 為包中的組件定義XML命名空間 163
5.2.3 如何轉(zhuǎn)譯XML命名空間 164
5.2.4 引入上下文變量前綴 167
5.3 配置組件屬性 168
5.3.1 將組件定義成對(duì)象原型 168
5.3.2 在何處定義組件屬性 169
5.3.3 屬性值類型 175
5.3.4 組裝組件 180
5.4 組件定義和組件配置 182
5.4.1 避免與現(xiàn)有定義相沖突 183
5.4.2 混和使用注解和XML 184
5.5 配置和啟用內(nèi)建組件 184
5.5.1 用組件描述符控制Seam 184
5.5.2 配置Seam的國(guó)際化支持 185
5.6 小結(jié) 187
第6章 IoC 189
6.1 bijection:依賴注入的演變 190
6.1.1 引入bijection 190
6.1.2 高爾夫球場(chǎng)上的bijection 191
6.1.3 激活bijection 191
6.2 動(dòng)態(tài)的依賴注入 193
6.2.1 聲明注入點(diǎn) 193
6.2.2 注入流程 195
6.2.3 混合作用域和可序列化的能力 197
6.2.4 注入變體 198
6.3 注出上下文變量 200
6.3.1 注出流程 200
6.3.2 注出用例 202
6.3.3 內(nèi)建的數(shù)據(jù)模型支持 204
6.4 避開bijection 211
6.4.1 內(nèi)部方法調(diào)用 211
6.4.2 方法上下文探秘 213
6.4.3 重入(Reentrant)方法調(diào)用 213
6.4.4 通過關(guān)閉攔截器來關(guān)閉bijection 215
6.5 組件事件 216
6.5.1 通過組件觸發(fā)事件 216
6.5.2 定義事件觀察者 218
6.5.3 在頁(yè)面轉(zhuǎn)換中觸發(fā)事件 219
6.5.4 內(nèi)建事件 220
6.6 自定義的方法攔截器 221
6.6.1 攔截器的利與弊 221
6.6.2 定義Seam攔截器 223
6.7 工廠和管理器組件 224
6.7.1 上下文變量@Factory 224
6.7.2 @Unwrap組件 230
6.8 小結(jié) 233
第三部分 Seam的狀態(tài)管理
第7章 Seam的工作單元:對(duì)話 236
7.1 學(xué)會(huì)辨別對(duì)話的狀態(tài) 236
7.1.1 重新定義工作單元 237
7.1.2 管理狀態(tài)的壓力 238
7.2 對(duì)話上下文 240
7.2.1 從HTTP會(huì)話中劃出工作空間 240
7.2.2 可以在對(duì)話中保存什么數(shù)據(jù) 242
7.3 建立對(duì)話范圍 243
7.3.1 對(duì)話的狀態(tài) 243
7.3.2 啟動(dòng)長(zhǎng)期對(duì)話 246
7.3.3 讓對(duì)話繼續(xù) 252
7.3.4 將對(duì)象收集到對(duì)話中 253
7.3.5 終止長(zhǎng)期對(duì)話 256
7.4 將對(duì)話擱置 258
7.4.1 放棄對(duì)話 258
7.4.2 創(chuàng)建嵌套對(duì)話 259
7.5 對(duì)話轉(zhuǎn)換 262
7.5.1 用對(duì)話作為工作空間 262
7.5.2 給對(duì)話一個(gè)說明 264
7.5.3 利用內(nèi)建的對(duì)話轉(zhuǎn)換器 265
7.6 用頁(yè)面流驅(qū)動(dòng)對(duì)話 270
7.6.1 構(gòu)建頁(yè)面流 270
7.6.2 了解頁(yè)面流 271
7.6.3 推進(jìn)頁(yè)面流 273
7.6.4 處理返回按鈕 275
7.7 特定的對(duì)話 276
7.7.1 生意開張 276
7.7.2 展示結(jié)果 277
7.8 小結(jié) 278
第8章 了解Java持久化 279
8.1 Java持久化原理 280
8.1.1 建立期望值 280
8.1.2 Java持久化的四大要素 280
8.2 實(shí)體和關(guān)系 281
8.2.1 映射元數(shù)據(jù) 282
8.2.2 傳遞性持久化 282
8.2.3 在持久層中引入注解 283
8.3 持久化單元 284
8.3.1 定義JCA數(shù)據(jù)源 284
8.3.2 持久化單元描述符 285
8.3.3 持久化管理器工廠 287
8.4 持久化管理器 287
8.4.1 獲得持久化管理器 287
8.4.2 持久化管理器的管理功能 288
8.4.3 設(shè)置持久化上下文的作用域 289
8.5 事務(wù) 289
8.5.1 事務(wù)API的分類 289
8.5.2 原子工作單元 290
8.5.3 ACID縮寫 291
8.6 管理企業(yè)中的持久化 292
8.6.1 擴(kuò)展持久化上下文簡(jiǎn)介 292
8.6.2 擴(kuò)展持久化上下文的好處 293
8.7 在JPA或Hibernate中做出選擇 298
8.7.1 Hibernate和JPA之間的關(guān)系 298
8.7.2 Hibernate和JPA之間的區(qū)別 299
8.7.3 Seam的合成方法 299
8.8 小結(jié) 300
第9章 受Seam管理的持久化和事務(wù) 301
9.1 正確管理持久化上下文 301
9.1.1 尊重持久化管理器 302
9.1.2 管理擴(kuò)展的持久化上下文 303
9.2 強(qiáng)化持久化管理器的能力 304
9.2.1 Seam的標(biāo)準(zhǔn)強(qiáng)化功能 304
9.2.2 讓Hibernate充分發(fā)揮 307
9.3 在Seam中構(gòu)建持久化單元 309
9.3.1 Seam的持久化管理器工廠 309
9.3.2 受Seam管理的持久化上下文 311
9.3.3 通過JNDI共用持久化管理器工廠 313
9.3.4 在啟動(dòng)時(shí)驗(yàn)證持久化上下文 315
9.4 Seam的事務(wù)支持 316
9.4.1 全局事務(wù) 316
9.4.2 Seam的事務(wù)抽象層 317
9.4.3 控制受Seam管理的事務(wù) 319
9.4.4 應(yīng)用程序事務(wù) 321
9.5 小結(jié) 324
第10章 快速開發(fā)Seam應(yīng)用程序 325
10.1 框架中的框架 325
10.1.1 持久化API的包裝 326
10.1.2 持久化控制器 327
10.1.3 兩種用途 329
10.2 采用Home組件的有狀態(tài)CRUD 330
10.2.1 彌補(bǔ)Anemic Domain Model的不足 330
10.2.2 領(lǐng)域?qū)ο笾幸際ome 330
10.2.3 Home的應(yīng)用 334
10.2.4 離開Home的風(fēng)險(xiǎn) 344
10.2.5 CRUD XML 349
10.3 提供反饋 351
10.3.1 自定義狀態(tài)消息 351
10.3.2 創(chuàng)建與i18n兼容的消息 352
10.3.3 事務(wù)成功事件 353
10.4 用Query組件進(jìn)行更智能的查詢 354
10.4.1 創(chuàng)建結(jié)果集列表 355
10.4.2 對(duì)結(jié)果集分頁(yè) 357
10.4.3 同時(shí)刪除多個(gè)記錄 359
10.4.4 對(duì)結(jié)果集排序 360
10.4.5 對(duì)結(jié)果集添加限制 362
10.5 小結(jié) 367
第四部分 深入業(yè)務(wù)需求
第11章 保護(hù)Seam應(yīng)用程序安全 370
11.1 啟動(dòng)驗(yàn)證 371
11.1.1 給用戶一個(gè)id 371
11.1.2 用3個(gè)步驟實(shí)現(xiàn)驗(yàn)證 372
11.1.3 概覽Seam的id管理 378
11.1.4 更“基礎(chǔ)的”驗(yàn)證 379
11.2 保護(hù)頁(yè)面安全 381
11.2.1 JSF安全的挑戰(zhàn) 381
11.2.2 請(qǐng)求驗(yàn)證 383
11.2.3 安全地服務(wù)頁(yè)面 387
11.3 基于角色的授權(quán) 388
11.3.1 表達(dá)限制 389
11.3.2 聲明基于角色的限制 391
11.4 利用Drools進(jìn)行基于規(guī)則的授權(quán) 394
11.4.1 規(guī)則與角色 394
11.4.2 配置Drools 394
11.4.3 用Drools創(chuàng)建規(guī)則 396
11.4.4 自動(dòng)偵測(cè)上下文 401
11.5 人機(jī)分離 403
11.5.1 CAPTCHA概覽 403
11.5.2 在表單中添加一個(gè)CAPTCHA問訊 403
11.6 小結(jié) 404
第12章 Ajax和JavaScript遠(yuǎn)程處理 405
12.1 結(jié)合JSF使用Ajax 406
12.1.1 采用server-centric應(yīng)用程序模型 406
12.1.2 Ajax4jsf和ICEfaces向JSF開啟了通信渠道 406
12.1.3 Seam在基于Ajax的JSF請(qǐng)求中的作用 410
12.2 部分提交表單 412
12.2.1 即時(shí)校驗(yàn) 412
12.2.2 精通業(yè)務(wù)的校驗(yàn) 414
12.2.3 協(xié)助用戶填寫表單 415
12.3 ICEfaces的Ajax Push 416
12.4 JavaScript與Seam的遠(yuǎn)程處理 418
12.4.1 透明的Ajax 418
12.4.2 讓瀏覽器訪問Seam組件 420
12.4.3 調(diào)用服務(wù)器端組件 423
12.4.4 本地存根 426
12.5 對(duì)話的遠(yuǎn)程處理調(diào)用 429
12.5.1 加入正在進(jìn)行的對(duì)話 429
12.5.2 啟動(dòng)對(duì)話 430
12.5.3 成批發(fā)送請(qǐng)求 431
12.6 響應(yīng)GWT遠(yuǎn)程調(diào)用 432
12.6.1 GWT整合簡(jiǎn)介 432
12.6.2 準(zhǔn)備遠(yuǎn)程處理服務(wù) 432
12.6.3 通過Seam遠(yuǎn)程處理GWT服務(wù)調(diào)用 433
12.7 小結(jié) 434
第13章 文件、豐富渲染和電子郵件支持 436
13.1 加載文件并渲染動(dòng)態(tài)圖像 436
13.1.1 接受文件加載 437
13.1.2 從原始數(shù)據(jù)渲染圖像 439
13.2 用iText生成PDF 441
13.2.1 用UI組件對(duì)PDF進(jìn)行排版 441
13.2.2 處理表格和單元格 445
13.2.3 添加顏色 448
13.2.4 優(yōu)雅的失敗和友好的文件擴(kuò)展名 448
13.2.5 提供動(dòng)態(tài)文件 449
13.3 用JFreeChart輕松繪制圖表 451
13.3.1 圖表基礎(chǔ)知識(shí) 451
13.3.2 柱狀圖 452
13.3.3 線圖 453
13.3.4 餅狀圖 454
13.4 用Seam的方式構(gòu)建電子郵件 455
13.4.1 發(fā)出第一條消息 455
13.4.2 在消息中附加其他因素 458
13.4.3 在Seam中構(gòu)建JavaMail 461
13.4.4 發(fā)布動(dòng)態(tài)消息 464
13.5 用resource bundle定制UI 465
13.5.1 讓Seam使用正確的語(yǔ)言 465
13.5.2 主題 468
13.6 小結(jié) 470
附錄A Seam的準(zhǔn)備工作 471
A.1 準(zhǔn)備工作 471
A.1.1 與Java 5的兼容性 472
A.1.2 Java EE 5應(yīng)用服務(wù)器 472
A.1.3 沒有(JavaServer)Faces 474
A.2 下載Seam發(fā)行包 475
A.2.1 Seam的模塊 475
A.2.2 諸多文件和范例 476
A.2.3 在雜亂中尋找seam-gen 476
A.3 seam-gen和Open 18范例應(yīng)用程序 476
A.3.1 源代碼 476
A.3.2 H2數(shù)據(jù)庫(kù) 477
A.3.3 Apache Ant帶動(dòng)了seam-gen 477
A.3.4 隨意選用RichFaces或ICEfaces 477
A.4 管理seam-gen工程中的類庫(kù) 478
A.5 添加Seam作為Maven 2依賴 478
參考文獻(xiàn) 480

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)