Struts 2完全學習手冊 ( 簡體 字) |
作者:王偉平 | 類別:1. -> 程式設計 -> JAVA -> Struts |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 28364 詢問書籍請說出此書號!【缺書】 NT售價: 350 元 |
出版日:11/8/2010 |
頁數:593 |
光碟數:1 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302223122 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:Struts 1自推出以來,經過多年的發展,已經成為了一個高度成熟的框架,不管是穩定性還是可靠性都得到了廣泛的證明,擁有豐富的開發人群。但是隨著時間的流逝以及技術的進步,Struts 1的局限性也越來越多地暴露出來,并且制約了Struts 1的繼續發展。 對于Struts 1框架而言,由于與JSP/Servlet耦合非常緊密,因此導致了一些嚴重的問題。首先,Struts 1支持的表現層技術單一。由于Struts 1出現的年代比較早,那個時候沒有FreeMarker、Velocity等技術,因此它不可能與這些視圖層的模板技術進行整合。其次, Struts 1與Servlet API的嚴重耦合,使應用難于測試。最后,Struts 1代碼嚴重依賴于Struts 1 API,屬于侵入性框架。 為了適應開發需求,以及應對新型視圖層框架(例如JSF、Tapestry和Spring MVC)的沖擊,Struts社區與大家熟知的WebWork社區聯合推出了最新的Struts框架——Struts 2。 Struts 2吸取了WebWork框架與Struts 1框架的優點,在穩定性與性能方面都有了更好的保證。 1.本書內容 本書全面地介紹Struts 2框架的各個知識層面,最主要的內容包括Struts 2框架的配置文件、Struts 2強大的標簽庫以及Struts 2與其他框架的整合,向讀者全面展示Struts 2框架。本書共分為4篇,分別是Struts 2基礎篇、Struts 2框架技術篇、Struts 2整合其他技術篇和Struts 2綜合實例篇。各篇主要內容如下。 第1篇:Struts 2基礎篇(第1∼8章)。本篇主要介紹Struts 2的MVC設計理念、工作流程、文件配置、國際化和異常處理、攔截器、類型轉換、輸入校驗以及Struts 2的默認表達式語言OGNL。其中,攔截器是Struts 2框架的核心。 第2篇:Struts 2框架技術篇(第9∼14章)。本篇著重介紹Struts 2框架的標簽庫、文件上傳與下載以及Struts 2對Ajax的支持,同時也非常具體地介紹Struts 2的數據庫應用、 Struts 2的應用程序安全以及如何避免表單重復提交與設置等待頁面。 第3篇:Struts 2整合其他技術篇(第15∼18章)。與各種流行框架的整合是學習Struts 2的一個重點。本篇主要介紹Struts 2與Hibernate、Spring、JSF、SiteMesh、Tiles等框架的 整合。 第4篇:Struts 2綜合實例篇(第19∼21章)。本篇介紹3個綜合實例,分別是用戶注冊系統、企業BBS系統和電子相冊系統。其中,用戶注冊系統單獨使用Struts 2框架實現;企業BBS系統結合Struts 2與Hibernate技術實現;電子相冊系統結合Struts 2+Hibernate+Spring這3種主流框架技術整合開發實現。 2.本書特色 本書采用大量的實例進行講解,力求通過實際操作使讀者輕松地掌握Struts 2框架技術的使用。本書難度適中,內容由淺入深,實用性強,覆蓋面廣,條理清晰。 ? 知識點全 本書全面地介紹Struts 2框架中的各個知識點,具有很強的系統性。 ? 基于理論,注重實踐 在講述過程中,不僅僅只介紹理論知識,而且在合適位置安排具有代表性、操作性強的綜合應用,將理論應用到實踐當中來加強讀者的實際應用能力,鞏固對Struts 2框架理論知識的學習。 ? 快速掌握 注重技術原理和實際應用的高度融合,通過循序漸進的內容組織,幫助讀者快速掌握和應用Struts 2框架技術。 ? 案例實用 本書花了很大篇幅去講解Struts 2框架與其他流行框架的整合,讓讀者切切實實地掌握Struts 2框架的實際應用,并在最后以3個綜合實例,更具體地介紹 Struts 2與Hibernate、Spring這兩個目前最為流行的框架的整合。 ? 隨書光盤 本書為實例配備了視頻教學文件,讀者可以通過視頻文件更加直觀地學習Struts 2框架知識。 ? 網站技術支持 讀者在學習或者工作的過程中,如果遇到實際問題,可以直接登錄www.itzcn.com與我們取得聯系,作者會在第一時間內給予幫助。 3.讀者對象 本書具有知識全面、實例精彩、指導性強的特點,力求以全面的知識及豐富的實例來指導讀者透徹地學習Struts 2框架各方面的知識。本書可以作為Struts 2框架的入門書籍,也可以幫助中級讀者提高技能,對高級讀者也有一定的啟發意義。 本書適合以下人員閱讀學習。 ? 系統開發人員。 ? 系統維護人員。 ? Struts 2初學者。 ? MVC框架編程人員。 ? 各大中專院校的在校學生和相關授課老師。 除了封面署名人員之外,參與本書編寫的還有楊夢、于永軍、張秋香、李乃文、張仕禹、夏小軍、趙振江、李振山、李文才、吳越勝、李海慶、何永國、李海峰、陶麗、吳俊海、安征、張巍屹、崔群法、王詠梅、康顯麗、辛愛軍、牛小平、賈栓穩、王立新、蘇靜、趙元慶、郭磊、徐銘、李大慶、王蕾、張勇、郝安林、郭新志、牛麗平、唐守國等。在編寫過程中難免會有疏漏,歡迎讀者與我們聯系,幫助我們改正提高。
作 者 2007年11月
|
內容簡介:Struts是第一款真正意義上按照MVC架構模式搭建的Web開發框架。本書全面講述Struts 2開發框架的知識,包括Struts 2中配置文件的詳細講解、國際化與異常處理、數據類型的轉換、數據的輸入校驗、Struts 2強大的標簽庫、Struts 2中文件的上傳與下載、Struts 2對Ajax的支持、Struts 2與流行框架的整合,最后以3個實例由簡單到復雜地介紹Struts 2在實際應用中的使用。本書光盤提供了全程配音視頻文件和實例源代碼。 本書適合大專院校在校學生、網站開發人員、Struts學習和開發人員以及編程愛好者學習和參考。
|
目錄:第一篇 Struts 2基礎篇
第1章 Struts 2概述 1 1.1 MVC概述 1 1.1.1 MVC設計模式 1 1.1.2 MVC的優點 3 1.1.3 Model 1和Model 2體系介紹 3 1.2 Struts 1簡介 4 1.2.1 Struts 1框架介紹 5 1.2.2 Struts 1配置文件 6 1.2.3 Struts 1處理過程 8 1.2.4 Struts 1簡單示例 9 1.3 WebWork概述1 14 1.4 Struts 2簡介 15 1.4.1 Struts 2框架體系 15 1.4.2 Struts 2配置文件 16 1.4.3 Struts 2控制器 17 1.4.4 Struts 2標簽庫 18 1.4.5 與Struts 1、WebWork對比 19 第2章 Struts 2起步 22 2.1 搭建Struts 2開發環境 22 2.1.1 安裝配置JDK 22 2.1.2 下載安裝Tomcat 23 2.1.3 下載安裝Struts 2 25 2.1.4 使用開發工具MyEclipse 26 2.2 Struts 2應用示例 28 2.2.1 web.xml配置文件 29 2.2.2 Action業務控制器 29 2.2.3 struts.xml配置文件 30 2.2.4 視圖文件 31 2.2.5 運行示例 31 2.3 Struts 2的工作流程 32 2.3.1 核心控制器FilterDispatcher 32 2.3.2 業務控制器Action 34 2.3.3 業務邏輯組件 34 2.4 Struts 2中使用POJO 34 第3章 Struts 2配置詳解 38 3.1 Struts 2配置文件 38 3.1.1 web.xml 38 3.1.2 struts.xml 40 3.1.3 struts-default.xml 44 3.1.4 struts.properties 46 3.1.5 struts-plugin.xml 48 3.1.6 靜態內容 49 3.2 struts.xml配置詳解 50 3.2.1 Bean配置 50 3.2.2 常量配置 51 3.2.3 包配置 53 3.2.4 命名空間配置 54 3.2.5 包含配置 56 3.2.6 攔截器配置 56 3.3 配置Action 57 3.3.1 Action實現類 58 3.3.2 間接訪問Servlet API 59 3.3.3 直接訪問Servlet API 62 3.3.4 Action配置 65 3.3.5 動態方法調用 66 3.3.6 使用method屬性 68 3.3.7 通配符映射 70 3.3.8 默認Action 71 3.4 配置Result 71 3.4.1 結果映射 72 3.4.2 結果類型 73 3.4.3 dispatcher結果類型 75 3.4.4 redirect結果類型 76 3.4.5 redirectAction結果類型 77 3.4.6 其他結果類型 78 3.4.7 使用通配符動態配置result 82 3.4.8 使用OGNL動態配置result 83 3.5 使用注解配置Action 84 3.5.1 與Action配置相關的注解 84 3.5.2 使用注解配置Action的注意事項 86 3.5.3 使用注解配置Action示例 87 第4章 國際化與異常處理 90 4.1 軟件國際化 90 4.2 Java國際化 91 4.2.1 Java對國際化的支持 91 4.2.2 Java支持的語言和區域 94 4.2.3 使用資源文件 95 4.2.4 使用資源類文件 97 4.2.5 MessageFormat類 100 4.3 Struts 2國際化 101 4.3.1 配置資源文件 101 4.3.2 Struts 2國際化應用 102 4.3.3 使用占位符 105 4.3.4 包范圍資源文件 108 4.3.5 Action范圍資源文件 111 4.3.6 臨時資源文件 112 4.3.7 加載資源文件的順序 114 4.4 動態訪問國際化資源文件 115 4.4.1 動態訪問國際化資源文件原理 115 4.4.2 建立資源文件 116 4.4.3 建立Action和JSP 116 4.4.4 動態訪問資源運行結果 117 4.5 Struts 2異常處理 118 4.5.1 傳統異常處理方式 118 4.5.2 Struts 2異常處理機制 120 4.5.3 配置異常處理 121 4.5.4 異常處理實例 122 第5章 攔截器 125 5.1 攔截器介紹 125 5.1.1 AOP介紹 125 5.1.2 攔截的實現原理 126 5.1.3 攔截的意義 127 5.2 Struts 2攔截器 128 5.2.1 Struts 2攔截器原理 128 5.2.2 配置攔截器 129 5.2.3 使用攔截器 131 5.2.4 自定義默認攔截器 133 5.2.5 使用攔截器注解 134 5.3 自定義攔截器 137 5.3.1 自定義攔截器類 137 5.3.2 使用自定義攔截器 139 5.4 攔截器深度剖析 142 5.4.1 攔截器的方法過濾 142 5.4.2 攔截器的執行順序 146 5.4.3 攔截結果監聽器 147 5.4.4 設置攔截器棧中攔截器參數 149 5.5 Struts 2框架的系統攔截器 152 5.5.1 系統攔截器 152 5.5.2 timer攔截器實例 157 5.6 權限攔截器實例 158 5.6.1 權限攔截器 158 5.6.2 配置攔截器 159 5.6.3 業務控制器Action 159 5.6.4 JSP視圖 160 5.6.5 運行程序 160 第6章 類型轉換 161 6.1 傳統的類型轉換 161 6.2 編寫一個類型轉換器 162 6.2.1 類型轉換需求 162 6.2.2 編寫自定義類型轉換器 164 6.2.3 視圖資源文件 165 6.2.4 運行示例 166 6.3 自定義類型轉換器 166 6.3.1 基于OGNL的類型轉換器 166 6.3.2 基于Struts 2的類型轉換器 167 6.3.3 注冊自定義類型轉換器 168 6.3.4 數組屬性類型轉換器 171 6.3.5 集合屬性類型轉換器 173 6.4 使用Struts 2的類型轉換 174 6.4.1 Struts 2系統內建的類型轉換器 174 6.4.2 null屬性的處理 174 6.4.3 項目應用中常見的類型轉換 175 6.4.4 使用OGNL表達式 177 6.4.5 使用集合類型屬性 179 6.4.6 使用Set類型屬性 182 6.5 類型轉換中的異常處理 185 6.5.1 類型轉換異常攔截器 185 6.5.2 一個簡單的類型轉換異常處理 186 6.5.3 改進類型轉換異常顯示信息 188 6.5.4 處理復合類型轉換異常 188 6.6 使用類型轉換注解 189 6.6.1 TypeConversion注解 190 6.6.2 Conversion注解 191 6.6.3 Element注解 192 6.6.4 Key注解 192 6.6.5 KeyProperty注解 192 6.6.6 CreateIfNull注解 193 第7章 輸入校驗 194 7.1 輸入校驗介紹 194 7.1.1 輸入校驗的原因 194 7.1.2 客戶端和服務器端校驗 195 7.2 使用validate進行輸入校驗 197 7.2.1 validate()方法輸入校驗 197 7.2.2 validateXxx()方法輸入校驗 199 7.2.3 輸入校驗流程 202 7.3 基本輸入校驗 203 7.3.1 定義校驗規則 203 7.3.2 字段校驗器配置風格 205 7.3.3 非字段校驗器配置風格 206 7.3.4 輸入校驗的國際化信息 207 7.3.5 校驗的搜索順序 208 7.4 復合類型屬性的輸入校驗 212 7.4.1 復合屬性的校驗 212 7.4.2 集合屬性的校驗 215 7.5 Struts 2框架的校驗器 217 7.5.1 內建校驗器 217 7.5.2 必填校驗器 218 7.5.3 必填字符串校驗器 220 7.5.4 字符串長度校驗器 222 7.5.5 整數校驗器 223 7.5.6 類型轉換校驗器 224 7.5.7 日期校驗器 226 7.5.8 浮點數值校驗器 227 7.5.9 郵件地址校驗器 228 7.5.10 網址校驗器 229 7.5.11 表達式校驗器 231 7.5.12 字段表達式校驗器 232 7.5.13 正則表達式校驗器 234 7.5.14 visitor校驗器 235 7.6 自定義校驗器 236 第8章 OGNL 239 8.1 OGNL簡介 239 8.2 OGNL表達式 239 8.2.1 常量 240 8.2.2 操作符 240 8.2.3 調用方法 241 8.2.4 索引訪問 242 8.2.5 對集合進行操作 244 8.3 OGNL的簡單應用 246 8.4 Struts 2的OGNL 247
第二篇 Struts 2框架技術篇
第9章 Struts 2標簽庫 253 9.1 Struts 2標簽庫概述 253 9.1.1 標簽庫簡介 253 9.1.2 Struts 2標簽庫組成 254 9.2 控制標簽 255 9.2.1 if/elseif/else標簽 256 9.2.2 iterator標簽 257 9.2.3 append標簽 258 9.2.4 generator標簽 259 9.2.5 merge標簽 259 9.2.6 subset標簽 261 9.2.7 sort標簽 262 9.3 數據標簽 264 9.3.1 action標簽 264 9.3.2 bean標簽 266 9.3.3 date標簽 268 9.3.4 debug標簽 269 9.3.5 include標簽 269 9.3.6 param標簽 270 9.3.7 push標簽 271 9.3.8 set標簽 272 9.3.9 url標簽 273 9.3.10 property標簽 274 9.4 主題與模板 275 9.4.1 主題 275 9.4.2 模板 276 9.4.3 使用主題模板 276 9.5 表單標簽 277 9.5.1 表單標簽通用屬性 277 9.5.2 checkboxlist標簽 278 9.5.3 combobox標簽 280 9.5.4 doubleselect標簽 281 9.5.5 datetimepicker標簽 282 9.5.6 head標簽 283 9.5.7 file標簽 284 9.5.8 hidden標簽 284 9.5.9 select標簽 284 9.5.10 optiontransferselect標簽 285 9.5.11 radio標簽 287 9.5.12 optgroup標簽 288 9.5.13 token標簽 289 9.5.14 textfield、password和 textarea標簽 290 9.5.15 updownselect標簽 291 9.6 非表單標簽 292 9.6.1 actionerror和actionmessage 標簽 292 9.6.2 component標簽 293 9.6.3 tree和treenode標簽 294 第10章 Struts 2數據庫應用 296 10.1 MySQL下載和安裝 296 10.1.1 下載MySQL數據庫 296 10.1.2 安裝MySQL數據庫服務器 297 10.1.3 下載MySQL JDBC驅動 298 10.2 訪問MySQL數據庫 298 10.2.1 創建一個數據庫 298 10.2.2 建立JDBC連接 299 10.3 使用Tomcat數據源 300 10.4 Struts 2數據分頁 304 10.5 Struts 2數據庫操作 309 10.5.1 添加用戶 310 10.5.2 修改用戶 312 10.5.3 刪除用戶 316 第11章 文件上傳與下載 319 11.1 文件上傳 319 11.1.1 基于表單的文件上傳設置 319 11.1.2 手動上傳文件 322 11.1.3 Struts 2對文件上傳的支持 325 11.1.4 在Struts 2中實現文件上傳 325 11.1.5 實現上傳文件過濾 328 11.2 多個文件同時上傳 330 11.2.1 使用數組同時上傳多個文件 330 11.2.2 使用List同時上傳多個文件 333 11.3 文件下載 335 11.3.1 Struts 2實現文件下載 335 11.3.2 下載權限控制 337 第12章 避免表單重復提交與等待 頁面 340 12.1 避免表單重復提交 340 12.2 Struts 2的實現方式 341 12.3 使用token攔截器 342 12.4 使用tokenSession攔截器 345 12.5 自動顯示等待頁面 346 12.6 使用execAndWait攔截器 347 第13章 Struts 2應用程序安全性 350 13.1 系統攻擊的實現因素 350 13.2 Web應用程序的攻擊類型 350 13.3 用戶和角色 351 13.4 編寫安全策略 352 13.4.1 保護資源 352 13.4.2 指定登錄方法 353 13.5 身份驗證方法 354 13.5.1 基本身份驗證方法 354 13.5.2 基于表單的身份驗證方法 356 13.6 Struts 2的安全配置 358 13.7 以編程方式提高安全性 359 13.7.1 getAuthType()方法 359 13.7.2 isUserInRole()方法 360 13.7.3 getUserPrincipal()方法 361 13.7.4 getRemoteUser()方法 362 第14章 Struts 2對Ajax的支持 363 14.1 Ajax快速入門 363 14.1.1 Ajax簡介 363 14.1.2 XMLHttpRequest 364 14.2 Ajax應用開發 370 14.2.1 使用XML作為數據的載體 370 14.2.2 使用JSON串作為數據的 載體 373 14.2.3 使用Dojo簡化Ajax應用的 開發 382 14.3 在Struts 2中使用JSON 385 14.4 Struts 2的Ajax標簽 390 14.4.1 Struts 2的Ajax支持 390 14.4.2 div標簽 394 14.4.3 a標簽 402 14.4.4 submit標簽 405 14.4.5 tabbedPanel標簽 406 14.4.6 autocompleter標簽 408
第三篇 Struts 2整合其他技術篇
第15章 整合Spring 413 15.1 Spring概述 413 15.1.1 Spring框架組件 413 15.1.2 Spring的優點 415 15.1.3 下載安裝Spring 415 15.1.4 IoC和DI 415 15.2 Struts 2整合Spring 418 15.2.1 原理介紹 418 15.2.2 整合步驟 418 15.2.3 整合示例 419 第16章 整合Hibernate 426 16.1 Hibernate簡介 426 16.1.1 Hibernate的優點 426 16.1.2 理解Hibernate架構 427 16.1.3 Hibernate核心接口 427 16.2 Struts 2整合Hibernate 428 16.2.1 下載安裝Hibernate 428 16.2.2 Struts 2與Hibernate的 整合方案 429 16.2.3 功能設計與數據庫設計 429 16.2.4 Hibernate映射對象到數據庫 430 16.2.5 hibernate.cfg.xml配置文件 432 16.2.6 HibernateSessionFactory類 文件 433 16.2.7 數據庫操作DAO 434 16.2.8 業務控制Action 436 16.2.9 struts.xml配置文件 440 16.2.10 視圖文件 442 16.2.11 校驗文件 446 16.2.12 運行程序 446 第17章 整合JSF 449 17.1 JSF介紹 449 17.1.1 JSF的優勢 449 17.1.2 JSF體系 451 17.1.3 與Struts 2比較 451 17.1.4 JSF的簡單應用 452 17.1.5 下載MyFaces 456 17.2 Struts 2整合MyFaces 457 17.2.1 整合原理 457 17.2.2 整合步驟 457 17.2.3 整合示例 458 第18章 整合其他框架技術 467 18.1 整合SiteMesh 467 18.1.1 SiteMesh簡介 467 18.1.2 下載安裝SiteMesh 468 18.1.3 SiteMesh的簡單應用 469 18.1.4 更復雜的裝飾器頁面 472 18.1.5 Struts 2中使用SiteMesh 475 18.2 整合FreeMarker 480 18.2.1 FreeMarker簡介 480 18.2.2 FreeMarker的簡單應用 481 18.2.3 FreeMarker常用指令 483 18.2.4 Struts 2中使用FreeMarker 486 18.3 整合Tiles 491 18.3.1 Tiles簡介 492 18.3.2 下載安裝Tiles 492 18.3.3 Tiles的簡單應用 493 18.3.4 Struts 2中使用Tiles 497 18.4 整合Struts 1 502 18.5 整合JFreeChart 506 18.5.1 JFreeChart簡介 507 18.5.2 下載安裝JFreeChart 507 18.5.3 JFreeChart的簡單應用 508 18.5.4 Struts 2中使用JFreeChart 509
第四篇 Struts 2綜合實例篇
第19章 用戶注冊系統 515 19.1 系統概述 515 19.1.1 系統分析與設計 515 19.1.2 系統結構 516 19.2 數據庫設計 517 19.3 DAO組件 518 19.3.1 創建實體類 518 19.3.2 實現DAO組件 519 19.4 用戶注冊模塊 522 19.4.1 用戶注冊頁面 522 19.4.2 Action類 524 19.4.3 校驗文件 525 19.4.4 struts.xml文件 527 19.4.5 效果演示 527 19.5 瀏覽用戶信息模塊 528 19.5.1 Action類 528 19.5.2 權限控制 529 19.5.3 struts.xml文件 530 19.5.4 用戶列表頁面 531 19.5.5 效果演示 532 第20章 企業BBS系統 533 20.1 系統分析和設計 533 20.1.1 需求分析 533 20.1.2 系統功能模塊 533 20.2 數據庫設計 535 20.3 系統實體及其關聯關系 536 20.4 實現Hibernate持久層 536 20.4.1 創建持久化類 537 20.4.2 映射持久化類 538 20.4.3 連接數據庫 541 20.5 實現DAO組件層 542 20.5.1 創建SessionFactory 542 20.5.2 實現DAO 544 20.6 Web層實現 550 20.6.1 回復列表的實現 550 20.6.2 對帖子的管理 553 20.6.3 JSP嵌入文本編輯器 558 20.6.4 圖形驗證碼的實現 559 第21章 電子相冊系統 562 21.1 系統分析和設計 562 21.1.1 需求分析 562 21.1.2 系統功能模塊 562 21.2 數據庫設計 564 21.2.1 數據庫建表 564 21.2.2 系統實體及其關聯關系 566 21.3 實現Hibernate持久層 566 21.3.1 創建持久化類 566 21.3.2 編寫持久化類的映射配 置文件 568 21.3.3 配置Hibernate的 SessionFactory 571 21.4 實現DAO組件層 572 21.4.1 實現DAO組件 572 21.4.2 DAO組件配置 577 21.5 實現業務邏輯層 578 21.5.1 實現業務邏輯組件 578 21.5.2 配置業務邏輯組件 582 21.6 實現Wed 層 583 21.6.1 列出相冊列表 583 21.6.2 上傳相片 586 21.6.3 查看相片列表 589 21.6.4 查看相片和發表相片評論 591
|
序: |