TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
Struts 2深入詳解(簡體書)
滿額折

Struts 2深入詳解(簡體書)

人民幣定價:79 元
定  價:NT$ 474 元
優惠價:87412
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:12 點
相關商品
商品簡介
作者簡介
目次

商品簡介

2006年,WebWork與Struts這兩個優秀的Java Web框架的開發團隊,開始合作開發一個新的、結合了WebWork與Struts的優點,并且更加優雅、擴展性更強的框架,命名為“Struts 2”,并于2007年上半年推出了Struts 2的正式版本。本書講解的是Struts 2中號稱“最佳可用”的2.0.11版本。 本書最大的特點就是深入、詳盡、解惑。 深入 本書深入剖析了Struts 2內部的運行機制,在知識的講解上,結合了Web程序的運行機制與Struts 2框架的內部工作機制,以幫助讀者更深入地掌握基于Struts 2的Web開發。 詳盡 本書內容詳盡,幾乎涵蓋了Struts 2中所有的知識點。本書力求在每一個知識點的講解上都清晰明了,而不是簡單地一帶而過,讓讀者對所學的知識理解得更為透徹。 解惑 本書秉承作者一貫的讓讀者知其然而知其所以然的寫作風格,在知識的講解上,不光讓讀者知道怎么用這個知識,還讓讀者知道為什么要這么用。在問題的分析解決上,從根源入手,幫助讀者了解問題發生的根本原因,培養讀者發現問題、分析問題、解決問題的能力。 本書語言生動、通俗易懂、講解細致,手把手地教你學習完成示例程序。全書給出了大量的示例,相信通過這些示例的學習,讀者一定可以更好、更快地掌握Struts 2的應用開發。 本書介紹了Struts 2最新的注解(Annotation)配置方式,這在國內外的同類圖書中尚屬首次。本書修正了Struts 2官方文檔中的不少錯誤,并針對Struts 2本身的一些Bug提供了解決方案。 本書可以作為Struts 2的學習用書,也可以作為從事Struts 2開發的程序員的參考用書和必備手冊,還可以作為Struts 2官方文檔的有益補充。

作者簡介

孫鑫,著名IT培訓專家,具有多年的軟件開發和教育培訓經驗,曾主講過的課程包括C/C++、VC++、COM\DCOM\COM+、SQL Server、Oracle、Java、J2EE等。2004年曾推出《Java無難事》和《VC++深入編程》教學視頻,獲得了強烈的反響,在網絡上掀起了一股視頻教學的風潮,無數熱愛編程的學員通過這兩套視頻走上了軟件開發的道路。 2006年5月和6月,相繼推出了《Java Web開發詳解》和《VC++深入詳解》兩本著作。近年來一直從事高端編程語言培訓和技術書籍的撰寫,于2004年7月創建了程序員之家網站(http://www.sunxin.org)

目次

第1章 認識Struts 2
 1.1 什么是Web框架
1.1.1 模型1
1.1.2 模型2和MVC
1.1.3 Web框架的誕生
 1.2 從Struts 1到Struts 2
1.2.1 其他Web框架
1.2.2 Struts 1的缺點
1.2.3 市場與技術的結合——Struts 2的誕生
 1.3 準備開發環境
 1.4 小結
第2章 Struts 2初體驗
 2.1 下載和安裝Struts 2
 2.2 使用Subversion來獲取
 2.2 Struts 2的源代碼
 2.3 Hello World程序
 2.4 Struts 2項目開發總結
 2.5 小結
第3章 由“登錄”開始
 3.1 使用領域對象接收用戶輸入
 3.2 使用ModelDriven action
 3.3 使用action的屬性接收用戶輸入
 3.4 訪問request、session和application對象
3.4.1 與Servlet API解耦的訪問方式
3.4.2 與Servlet API耦合的訪問方式
 3.5 小結
第4章 Struts 2架構剖析
 4.1 XWork 2——Struts 2的基礎
 4.2 Struts 2的體系結構
 4.3 Struts 2框架的調用流程
 4.4 小結
第5章 Struts 2配置詳解
 5.1 Struts 2的配置文件
5.1.1 web.xml
5.1.2 struts.properties
5.1.3 struts-default.xml
5.1.4 struts.xml
5.1.5 struts-plugin.xml
5.1.6 靜態內容
 5.2 struts.xml配置詳解
5.2.1 Bean配置
5.2.2 常量(Constant)的配置
5.2.3 包(Package)配置
5.2.4 名稱空間(Namespace)配置
5.2.5 包含(Include)配置
5.2.6 攔截器(Interceptor)配置
5.2.7 Action配置
5.2.8 Result配置
5.2.9 異常(Exception)配置
 5.3 配置Action
5.3.1 Action映射
5.3.2 使用method屬性
5.3.3 動態方法調用
5.3.4 模擬Struts 1的ForwardAction
5.3.5 默認的action
5.3.6 通配符映射
 5.4 配置Result
5.4.1 結果映射
5.4.2 結果類型
5.4.3 常用結果類型
5.4.3.1 dispatcher結果類型
5.4.3.2 redirect結果類型
5.4.3.3 redirectAction結果類型
5.4.3.4 plainText結果類型
5.4.4 全局結果
5.4.5 動態結果
5.4.6 在結果配置中使用參數
 5.5 異常處理
 5.6 使用注解配置Action
5.6.1 與Action配置相關的注解
5.6.2 使用注解配置Action的注意事項
5.6.3 使用注解配置Action的實例
 5.7 小結
第6章 準備用戶注冊程序
 6.1 創建數據庫表
 6.2 編寫用戶注冊程序
 6.3 解決中文亂碼問題
 6.4 Struts 2對依賴注入的支持
6.4.1 Spring插件
6.4.2 在用戶注冊程序中集成Spring
6.5 小結
第7章 Struts 2中的OGNL
 7.1 為什么使用OGNL
 7.2 OGNL基礎
 7.3 OGNL表達式
7.3.1 常量
7.3.2 操作符
7.3.3 訪問JavaBean的屬性
7.3.4 調用方法
7.3.5 調用靜態方法和靜態字段
7.3.6 調用構造方法
7.3.7 索引訪問
7.3.7.1 數組和列表索引
7.3.7.2 JavaBean的索引屬性
7.3.7.3 OGNL對象索引屬性
7.3.8 對集合進行操作
7.3.8.1 創建集合
7.3.8.2 集合的偽屬性
7.3.8.3 投影(projection)
7.3.8.4 選擇(selection)
7.3.9 lambda表達式
 7.4 OGNL的類型轉換
 7.5 Struts 2在OGNL基礎上的增強
7.5.1 值棧(ValueStack)
7.5.2 [N]語法
7.5.3 top關鍵字
7.5.4 訪問靜態成員
7.5.5 值棧中的Action實例
7.5.6 Struts 2中的命名對象
 7.6 與JSP 2.1的沖突
 7.7 OGNL表達式的綜合應用
 7.8 小結
第8章 Struts 2的標簽庫
 8.1 引用Struts 2的標簽庫
 8.2 標簽的語法
 8.3 通用標簽
8.3.1 數據標簽
8.3.1.1 property標簽
8.3.1.2 set標簽
8.3.1.3 push標簽
8.3.1.4 param標簽
8.3.1.5 bean標簽
8.3.1.6 action標簽
8.3.1.7 include標簽
8.3.1.8 url標簽
8.3.1.9 i18n和text標簽
8.3.1.10 date標簽
8.3.1.11 debug標簽
8.3.2 控制標簽
8.3.2.1 if/elseif/else標簽
8.3.2.2 iterator標簽
8.3.2.3 append標簽
8.3.2.4 merge標簽
8.3.2.5 generator標簽
8.3.2.6 subset標簽
8.3.2.7 sort標簽
 8.4 UI標簽
8.4.1 模板和主題
8.4.1.1 Struts 2支持的模板引擎
8.4.1.2 加載模板
8.4.1.3 選擇主題
8.4.1.4 創建定制的主題
8.4.1.5 Struts 2內置的4種主題
8.4.2 表單標簽
8.4.2.1 表單標簽的公共屬性
8.4.2.2 表單標簽的name和value屬性
8.4.2.3 ID名分配
8.4.2.4 form標簽
8.4.2.5 textfield標簽
8.4.2.6 password標簽
8.4.2.7 textarea標簽
8.4.2.8 select標簽
8.4.2.9 optgroup標簽
8.4.2.10 radio標簽
8.4.2.11 checkbox標簽
8.4.2.12 checkboxlist標簽
8.4.2.13 doubleselect標簽
8.4.2.14 combobox標簽
8.4.2.15 optiontransferselect標簽
8.4.2.16 updownselect標簽
8.4.2.17 hidden標簽
8.4.2.18 submit標簽
8.4.2.19 reset標簽
8.4.2.20 label標簽
8.4.2.21 token標簽
8.4.2.22 file標簽
8.4.2.23 head標簽
8.4.3 非表單標簽
8.4.3.1 component標簽
8.4.3.2 a標簽
8.4.3.3 actionerror、actionmessage和fielderror標簽
 8.5 使用Struts 2的表單標簽改寫用戶注冊程序中的注冊頁面
 8.6 小結
第9章 國際化
 9.1 國際化與本地化
9.1.1 Locale
9.1.2 資源包
9.1.3 消息格式化
 9.2 Struts 2對國際化的支持
9.2.1 Struts 2資源包的組織和加載方式
9.2.2 在消息文本中使用參數
9.2.3 訪問國際化消息
 9.3 將用戶注冊程序國際化
 9.4 錯誤消息的國際化
 9.5 Struts 2設定訪問用戶的locale的流程
 9.6 為用戶注冊程序添加英文版本
 9.7 小結
第10章 攔截器
 10.1 攔截器的工作方式
 10.2 編寫攔截器類
 10.3 Struts 2自帶的攔截器
 10.4 配置攔截器
 10.5 PreResultListener接口
 10.6 開發執行安全驗證的攔截器
 10.7 使用攔截器注解
 10.8 小結
第11章 類型轉換
 11.1 傳統的數據處理過程
 11.2 Struts 2對類型轉換的支持
11.2.1 使用OGNL表達式命名參數
11.2.2 Struts 2內置的類型轉換器
11.2.3 null屬性的處理
11.2.4 對List、Map和Set的支持
11.2.4.1 使用List來保存圖書信息的實例
11.2.4.2 使用Map來保存圖書信息的實例
11.2.5 使用Set來保存圖書信息的實例
 11.3 創建自定義的類型轉換器
 11.4 類型轉換錯誤的處理
 11.5 使用類型轉換注解
11.5.1 TypeConversion注解
11.5.2 Conversion注解
11.5.3 Element注解
11.5.4 Key注解
11.5.5 KeyProperty注解
11.5.6 CreateIfNull注解
 11.6 小結
第12章 對輸入數據進行驗證
 12.1 手動驗證
12.1.1 在Action的execute()方法中進行驗證
12.1.2 在validateXxx()方法中進行驗證
12.1.3 在validate()方法中進行驗證
 12.2 使用驗證框架
12.2.1 什么是驗證器
12.2.2 注冊驗證器
12.2.3 開啟驗證
12.2.4 定義驗證規則
12.2.5 驗證文件的查找順序
12.2.6 Struts 2內置的驗證器
12.2.7 在用戶注冊程序中使用驗證框架
12.2.8 確認密碼的驗證
12.2.9 短路驗證
12.2.10 開發自己的驗證器
12.2.11 使用visitor字段驗證器復用驗證
12.2.12 同時使用驗證框架和手動驗證
12.2.13 客戶端JavaScript驗證
 12.3 使用驗證注解
12.3.1 與驗證相關的注解
12.3.2 在用戶注冊程序中使用驗證注解
12.4 小結
第13章 使用FreeMarker作為表現層
 13.1 FreeMarker簡介
13.1.1 FreeMarker是什么
13.1.2 為什么要使用FreeMarker
 13.2 FreeMarker的工作原理
13.2.1 模板+數據模型=輸出
13.2.2 數據模型
13.2.2.1 scalar變量
13.2.2.2 hash和sequence變量
13.2.2.3 方法變量
13.2.2.4 宏變量
13.2.3 模板
 13.3 FreeMarker的語法和操作
13.3.1 準備工作
13.3.2 表達式
13.3.2.1 直接指定值
13.3.2.2 訪問變量
13.3.2.3 字符串操作
13.3.2.4 序列操作
13.3.2.5 散列操作
13.3.2.6 算術運算
13.3.2.7 比較操作
13.3.2.8 邏輯操作
13.3.2.9 內置函數
13.3.2.10 方法調用
13.3.2.11 缺少值處理操作符
13.3.2.12 操作符優先級
13.3.3 插值(interpolation)
13.3.4 指令
13.3.4.1 if/elseif/else指令
13.3.4.2 switch/case/default/break指令
13.3.4.3 list/break指令
13.3.4.4 include指令
13.3.4.5 import指令和名稱空間
13.3.4.6 assign指令
13.3.4.7 global指令
13.3.4.8 local指令
13.3.4.9 setting指令
13.3.4.10 macro、nested和return指令
13.3.4.11 function和return指令
13.3.4.12 noparse指令
13.3.4.13 escape和noescape指令
13.3.5 內置函數
13.3.5.1 操作字符串
13.3.5.2 操作數字
13.3.5.3 操作日期
13.3.5.4 操作布爾值
13.3.5.5 操作序列
13.3.5.6 操作散列
13.3.6 在模板中定義變量
 13.4 Struts 2對FreeMarker的支持
13.4.1 FreeMarker標簽
13.4.2 在FreeMarker標簽中
13.4.2 使用動態屬性
13.4.3 JSP標簽支持
13.4.4 變量解析與內置變量
13.4.5 訪問Servlet/JSP范圍對象
13.4.6 類型轉換與本地化
 13.5 在用戶注冊程序中使用FreeMarker來實現表現層
 13.6 小結
第14章 使用SiteMesh控制頁面布局
 14.1 SiteMesh簡介
 14.2 下載并安裝SiteMesh
 14.3 感受SiteMesh
 14.4 SiteMesh的工作原理
 14.5 SiteMesh的標簽庫
14.5.1 decorator標簽庫
14.5.2 page標簽庫
 14.6 在裝飾器中獲取原始頁面的內容
 14.7 裝飾器的組合應用
 14.8 裝飾器映射器
 14.9 Struts 2對SiteMesh的支持
 14.10 在用戶注冊程序中使用SiteMesh進行頁面布局
14.10.1 使用JSP作為表現層
14.10.2 使用FreeMarker作為表現層
 14.11 小結
第15章 避免表單重復提交與等待頁面
 15.1 避免表單重復提交
15.1.1 避免表單重復提交的實現原理
15.1.2 Struts 2的實現方式
15.1.3 使用TokenInterceptor
15.1.4 使用TokenSessionStoreInterceptor
 15.2 自動顯示等待頁面
15.2.1 ExecuteAndWaitInterceptor 的工作機制
15.2.2 使用ExecuteAndWaitInterceptor
 15.3 小結
第16章 文件上傳和下載
 16.1 文件上傳
16.1.1 基于表單的文件上傳
16.1.2 文件上傳格式分析
16.1.3 Struts 2對文件上傳的支持
16.1.4 在Struts 2中實現文件上傳
16.1.5 對文件上傳進行更多的控制
16.1.6 多文件上傳
 16.2 文件下載
16.2.1 Struts 2對文件下載的支持
16.2.2 在Struts 2中實現文件下載
16.2.3 改進下載程序
 16.3 小結
第17章 在Struts 2中實現CRUD
 17.1 準備工作
 17.2 文章分類的CRUD操作
 17.3 小結
第18章 Struts 2對Ajax的支持
 18.1 Ajax快速入門
18.1.1 Ajax簡介
18.1.2 DOM
18.1.3 XMLHttpRequest
 18.2 Ajax應用開發
18.2.1 使用XML作為數據的載體
18.2.2 使用JSON串作為數據的載體
18.2.2.1 理解JSON
18.2.2.2 下載JSON的Java實現
18.2.2.3 下載JSON的JavaScript腳本
18.2.2.4 使用JSON作為圖書信息的數據
18.2.2.2 格式
18.2.3 使用Dojo簡化Ajax應用的開發
18.2.3.1 Dojo概述
18.2.3.2 下載Dojo工具包
18.2.3.3 在ch18 Web程序中使用Dojo
 18.3 在Struts 2中使用JSON插件
18.3.1 JSON插件
18.3.1.1 JSON插件概述
18.3.1.2 定制序列化和反序列化
18.3.1.3 下載JSON插件
18.3.2 使用JSON插件的實例
 18.4 Struts 2的Ajax標簽
18.4.1 Ajax標簽的基礎知識
18.4.1.1 共同的屬性
18.4.1.2 等待指示符
18.4.1.3 事件發布/訂閱模型
18.4.1.4 URL
18.4.1.5 阻止請求
18.4.2 使用Ajax標簽前的準備工作
18.4.3 div標簽
18.4.4 submit標簽
18.4.5 a標簽
18.4.6 tabbedPanel標簽
18.4.7 autocompleter標簽
18.4.7.1 autocompleter標簽簡介
18.4.7.2 準備工作
18.4.7.3 autocompleter標簽用法詳析
18.4.8 tree和treenode標簽
18.4.8.1 用tree和treenode標簽構建靜態樹
18.4.8.2 用tree標簽構建動態樹
 18.5 Struts 2對DWR的支持
 18.6 小結
第19章 集成Hibernate和Spring
 19.1 Hibernate簡介
 19.2 Hibernate的下載和安裝
 19.3 Hibernate快速入門
19.3.1 配置文件
19.3.2 主要接口和類
19.3.3 總結
 19.4 在Struts 2中集成Hibernate
 19.5 集成Spring
 19.6 小結
第20章 在Struts 2中開發Struts 1的Web應用
 20.1 Struts 1插件
20.1.1 Struts 1插件的工作原理
20.1.2 使用Struts 1插件
 20.2 用戶注冊實例
20.2.1 準備工作
20.2.2 階段1:簡單的Struts 1 Action
20.2.3 階段2:帶有ActionForm的Struts 1 Action
20.2.4 階段3:添加手動驗證
20.2.5 階段4:使用CommonsValidator驗證框架
 20.3 小結
附錄A Struts 1與Struts 2的對比
附錄B WebWork 2與Struts 2的對比
附錄C 從WebWork 2移植到Struts 2

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區