WebWork in Action中文版

WebWork in Action中文版

《WebWork in Action中文版》是一本Patrick Lightbody, Jason Carreira編制,由電子工業出版社在2006年出版的書籍。

基本介紹

  • 中文名:WebWork in Action中文版
  • 出版社:電子工業出版社
  • ISBN:7121032996
  • 上架時間:2006-11-10
基本信息,內容簡介,目錄,

基本信息

原書名: Webwork in Action 原出版社: Manning Publications
作者: (美)Patrick Lightbody, Jason Carreira
譯者: 譚穎華 張雲飛 唐勇
叢書名: Java開發專家
出版日期:2006 年11月
開本:16開
頁碼:365
版次:1-1

內容簡介

本書是一本從頭至尾都使用現實世界例子講述有關編寫web應用程式的書籍。webwork所強調的內容是:利用框架實現你的項目,而不是被框架所阻礙。在本書中,我們將從簡單的表單及表單處理開始,逐一講述編寫web應用程式的基礎知識:action、interceptor和result,以及控制反轉(ioc)模式、對象圖導航語言(ognl)和所有來自webwork的實用jsp標籤等。然後我們著眼於高級的特性,例如校驗、數據類型轉換、資源依賴、本地化(i18n)、web套用組件的松耦合,以及大量應對web開發中常見的挑戰所需要的解決方案。
本書是為那些厭煩了web開發或者認為會存在更好的web開發方式的開發人員準備的。我們希望讀者對java及常用的java api(如java collections api)有基本的認識。由於webwork的內容幾乎都與web相關,那么讀者必須對html、javascript及css具有基本程度的認識。而實際上不管是開發新手還是富有經驗的軟體開發者,甚至是那些缺少java基礎技術背景的開發者都可以閱讀本書,並且能夠馬上提高自己的開發效率。
本書實例原始碼可以從飛思線上和manning出版社的網站下載。

目錄

第1部分 webwork簡介
第1章 webwork的概貌 3
1.1 為什麼mvc是重要的 5
1.1.1 經典mvc落伍了 5
1.1.2 經典mvc模式的更新:前端控制器(front controller) 6
1.1.3 mvc演化:頁面控制器(page controller) 7
1.2 理解框架和容器 8
1.2.1 什麼是框架 8
1.2.2 容器能夠做什麼 9
1.3 webwork:過去、現在和未來 11
1.3.1 webwork的歷史 11
1.3.2 理解xwork的核心 11
1.3.3 未來發展方向 12
1.4 caveatemptor應用程式 13
1.5 小結 14
第2章 webwork方式的helloworld 17
2.1 下載webwork 18
2.2 準備骨架程式(skeleton) 18
2.2.1 創建web.xml配置檔案 19
2.2.2 創建xwork.xml配置檔案 20
.2.2.3 創建webwork.properties配置檔案 21
2.2.4 開發webwork應用程式的小技巧 21
2.3 你的第一個action 22
2.3.1 以webwork的方式說hello 22
2.3.2 在瀏覽器上顯示輸出結果 23
2.3.3 配置你的新action 24
2.4 處理輸入 25
2.5 高級控制流 27
2.6 讓webwork完成任務 29
2.6.1 充分利用actionsupport 30
2.6.2 jsp的過渡性修改 31
2.6.3 探究ui標籤庫 31
2.7 小結 32
第3章 配置webwork 33
3.1 配置action、result和interceptor 34
3.1.1 術語概述 34
3.1.2 action 35
3.1.3 result 39
3.1.4 interceptor 41
3.2 高級配置 45
3.2.1 xwork.xml的dtd 45
3.2.2 namespace和package 46
3.2.3 使用include標籤實現組件化 49
3.3 其他配置檔案 57
3.3.1 web應用程式配置:web.xml 57
3.3.2 特性配置:webwork.properties 58
3.4 配置你的web應用程式 60
3.4.1 大體的布局 61
3.4.2 必需的類庫 61
3.4.3 可選的類庫 61
3.5 小結 62
第2部分 核心概念
第4章 實現webwork action 65
4.1 action接口 66
4.1.1 result code 66
4.1.2 處理異常 67
4.2 使用actionsupport基類 67
4.3 理解基本的校驗 68
4.3.1 校驗action:validateable接口 68
4.3.2 顯示錯誤信息:validationaware接口 69
4.4 使用本地化的文本信息 72
4.4.1 獲取用戶的locale:localeprovider 73
4.4.2 顯示本地化文本:textprovider 73
4.4.3 為其他語言提供文本信息 76
4.5 高級輸入 76
4.5.1 中介對象 76
4.5.2 直接使用域對象 76
4.6 使用modeldriven action 80
4.6.1 實現modeldriven action 80
4.6.2 使用modeldriven時需要考慮的問題 84
4.7 通過actioncontext訪問數據 86
4.7.1 caveatemptor:訪問session 86
4.7.2 範例:訪問request和response 88
4.8 處理檔案上傳 90
4.8.1 通過request封裝類訪問上傳檔案 91
4.8.2 自動化檔案上傳 92
4.8.3 配置設定 93
4.9 小結 93
第5章 使用interceptor增加功能 95
5.1 interceptor如何被調用 96
5.2 使用預建的interceptor 97
5.2.1 工具(utility)interceptor 98
5.2.2 設定參數 100
5.2.3 定義工作流 103
5.3 使用預建的interceptor棧 105
5.4 構建你自己的interceptor 107
5.4.1 使用aroundinterceptor作為基礎 108
5.4.2 關注一個自定義interceptor的範例 109
5.4.3 通過preresultlistener在result執行之前獲得回調控制 111
5.4.4 注意interceptor間的互動 113
5.5 interceptor vs. servlet篩選器 113
5.6 小結 114
第6章 控制反轉 115
6.1 分析這個模式 116
6.1.1 用於管理活動資源的通用模式 116
6.1.2 反向資源管理 119
6.1.3 ioc如何有助於測試 121
6.2 ioc的本質 122
6.2.1 webwork的ioc歷史 122
6.2.2 依賴(dependencies) 124
6.2.3 作用域和生命周期 125
6.3 使用webwork的ioc框架 126
6.3.1 配置 126
6.3.2 創建新的組件 129
6.3.3 對任意對象使用ioc 132
6.3.4 處理複雜的依賴 133
6.4 來自caveatemptor的一個例子 136
6.4.1 hibernatesessionfactory組件 136
6.4.2 persistencemanager組件 138
6.4.3 配置組件 141
6.4.4 使用這個新的組件 142
6.5 其他的選擇 142
6.5.1 ioc容器的其他選擇 143
6.5.2 非ioc的其他選擇 144
6.6 小結 145
第3部分 內容的顯示
第7章 使用result 149
7.1 action之後的狀態 150
7.1.1 簡單的result 150
7.1.2 配置result 152
7.2 通用result 154
7.2.1 分發至頁面 154
7.2.2 重定向至頁面 159
7.2.3 連結至另一個action 161
7.3 其他result 165
7.3.1 直接將velocity模板轉換為位元組流並輸出 166
7.3.2 freemarker:velocity之外的又一選擇 170
7.3.3 使用jasperreports生成報表 171
7.4 小結 174
第8章 利用表達式語言獲取數據 177
8.1 什麼是表達式語言 178
8.1.1 為什麼使用表達式語言 178
8.1.2 為什麼使用ognl 179
8.1.3 其他表達式語言 180
8.1.4 ognl的關鍵概念 180
8.2 基本的表達式特性 181
8.2.1 訪問bean屬性 181
8.2.2 常量與操作符 182
8.2.3 方法調用 183
8.2.4 設定數值及表達式列表 184
8.2.5 訪問靜態方法和類變數 184
8.2.6 訪問ognl上下文及actioncontext 185
8.3 操作集合(collections) 185
8.3.1 操作列表(list)和數組(array) 186
8.3.2 操作圖(map) 186
8.3.3 對集合進行篩選(filtering)和投影(projecting) 188
8.3.4 “#”的多種用途 188
8.4 表達式語言的高級特性 189
8.4.1 將值棧和表達式語言聯繫起來 189
8.4.2 數據類型轉換 190
8.4.3 處理null屬性的訪問 191
8.4.4 動態創建lambda表達式 191
8.5 小結 192
第9章 標籤庫 193
9.1 起步 194
9.2 webwork標籤總覽 195
9.3 數據標籤 197
9.3.1 property標籤 197
9.3.2 set標籤 198
9.3.3 push標籤 199
9.3.4 bean標籤 200
9.3.5 action標籤 201
9.4 控制標籤 203
9.4.1 iterator標籤 203
9.4.2 if標籤和else標籤 205
9.5 雜項標籤 206
9.5.1 include標籤 207
9.5.2 url標籤 207
9.5.3 i18n和text標籤 209
9.5.4 param標籤 211
9.6 小結 212
第10章 velocity 213
10.1 介紹velocity 214
10.1.1 什麼是velocity 214
10.1.2 為使用velocity做好準備 215
10.2 基本語法和操作 217
10.2.1 屬性訪問 218
10.2.2 方法調用 219
10.2.3 控制語句:if/else和循環 219
10.2.4 變數賦值 223
10.3 高級技術 223
10.3.1 velocitycontext 223
10.3.2 context中由webwork提供的對象 224
10.3.3 自定義velocity context 224
10.4 在velocity中使用jsp標籤 225
10.5 velocity模板的裝載 226
10.6 小結 227
第11章 ui組件 229
11.1 為什麼要為ui標籤費心 230
11.1.1 解除痛苦 230
11.1.2 不僅僅是表單元素 237
11.2 ui標籤概述 240
11.2.1 模板 240
11.2.2 themes 241
11.2.3 標籤屬性 245
11.3 ui標籤指南 246
11.3.1 通用屬性 246
11.3.2 簡單的標籤 248
11.3.3 基於集合的標籤 251
11.3.4 高級標籤 256
11.4 小結 259
第4部分 高級話題
第12章 類型轉換 263
12.1 為什麼需要類型轉換 264
12.1.1 servlet規範 264
12.1.2 一個沒有類型轉換的action 265
12.1.3 一個沒有類型轉換的視圖 267
12.1.4 webwork類型轉換給你帶來了什麼 268
12.2 配置 269
12.2.1 類型轉換器的角色 270
12.2.2 全局類型轉換器 271
12.2.3 類級別的類型轉換器 271
12.3 簡單類型轉換 272
12.3.1 基本類型轉換 272
12.3.2 內建類型轉換 273
12.3.3 處理null屬性訪問 274
12.4 高級話題 274
12.4.1 處理null集合訪問 274
12.4.2 處理轉換錯誤 277
12.4.3 一個整合了全部內容的例子 277
12.5 小結 279
第13章 校驗表單數據 281
13.1 手動校驗數據 283
13.1.1 在execute()方法裡校驗 283
13.1.2 實現validateable 接口 284
13.2 使用校驗框架 286
13.2.1 創建你的第一個 *-validation.xml檔案 287
13.2.2 註冊校驗器 288
13.2.3 設定validation interceptor 290
13.2.4 把所有的東西整合在一起 291
13.2.5 一些校驗的xml示例 293
13.3 研究校驗框架的高級特性 295
13.3.1 實現一個自定義的校驗器 295
13.3.2 在不同的上下文中校驗 298
13.3.3 短路校驗 298
13.3.4 expressionvalidator 299
13.3.5 使用visitor欄位校驗器復用校驗 299
13.4 小結 302
第14章 國際化 303
14.1 快速瀏覽一個國際化的例子 304
14.2 信息的來源 305
14.2.1 理解資源包的搜尋順序 306
14.2.2 添加默認的資源包 307
14.2.3 [ww:i18n]標籤 308
14.3 使用國際化信息 309
14.3.1 參數化本地化文字 309
14.3.2 在taglib屬性里使用gettext() 310
14.3.3 格式化日期和數字 310
14.3.4 在校驗里使用本地化信息 311
14.3.5 為類型轉換信息使用國際化字元串 312
14.4 提示和技巧 313
14.4.1 編程設定locale 313
14.4.2 用類來實現resourcebundle 314
14.4.3 使用[ww:param]標籤傳遞動態生成的文本給信息字元串 317
14.4.4 在所有的地方設定編碼 319
14.4.5 對java的propertyresourcebundle的一個提示 320
14.4.6 最後一個提示 320
14.5 小結 321
第15章 最佳實踐 323
15.1 搭建環境 324
15.1.1 搭建ide 324
15.1.2 重新載入資源 326
15.2 單元測試action 326
15.2.1 使用mock對象 327
15.2.2 ioc高級測試 328
15.2.3 處理靜態變數和本地執行緒 329
15.3 綜合測試 330
15.3.1 測試你的配置 330
15.3.2 通過配置瀏覽器查看配置 332
15.4 測試校驗 334
15.4.1 對編程校驗的測試 334
15.4.2 測試validation.xml檔案 334
15.5 高級ui標籤的用法 337
15.5.1 覆蓋已有模板 338
15.5.2 編寫自定義模板 340
15.5.3 編寫默認主題 342
15.6 使用表單標記(token)以防止重複提交 343
15.6.1 套用[ww:token]標籤 344
15.6.2 使用tokeninterceptor 345
15.6.3 使用tokensessionstoreinterceptor重新輸出結果頁面 346
15.7 自動顯示等待頁面 346
15.8 用單個action完成crud操作 349
15.8.1 用newcategory創建新的category 351
15.8.2 用viewcategory及editcategory讀和更新實體數據 351
15.8.3 使用savecategory保存category 352
15.8.4 設定parentcategory屬性 353
15.9 小結 354
附錄a webwork架構 355
a.1 實現命令模式 356
a.1.1 基本命令模式特性 357
a.1.2 高級命令模式特性 357
a.2 action 358
a.3 interceptor 358
a.4 result 358
a.5 值棧 359
a.6 actionproxy/actioninvocation 359
a.7 actioncontext 361
a.8 servlet分派器 364
a.9 小結 364

相關詞條

熱門詞條

聯絡我們