內(nèi) 容簡 介本書從基礎(chǔ)開始,對Struts 2程序設(shè)計相關(guān)知識進行了深入細致的講解。全書共分15章,主要內(nèi)容包括Struts 2技術(shù)介紹和原理、Action的應(yīng)用、核心技術(shù)的應(yīng)用、Struts 2配置文件的配置、類型轉(zhuǎn)換器、攔截器、OGNL表達式、Struts 2的標簽、Struts 2的校驗、Struts 2的國際化、Struts 2文件的上傳下載等,最后通過留言板項目案例對前面的知識進行了綜合運用。本書不僅可以作為普通高等院校的教材,同時也是廣大Struts 2愛好者自學的首選用書。前 言Struts 2是Struts的新一代產(chǎn)品,是在Struts 1和WebWork的技術(shù)基礎(chǔ)上進行了合并的全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)差別巨大。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設(shè)計也使得業(yè)務(wù)邏輯控制器能夠與Servlet API完全脫離開,所以Struts 2可以理解為WebWork的更新產(chǎn)品。Struts 2目前已經(jīng)成為Java EE企業(yè)開發(fā)最實用、使用最廣泛的MVC框架,Struts 2框架不僅成熟、穩(wěn)定,而且具有很好的擴展性,能與大部分Java EE框架整合。所以,Struts 2是從事Java EE開發(fā)必備的技術(shù)。1. 本書內(nèi)容本書面向Struts 2的實際應(yīng)用開發(fā),循序漸進地為讀者介紹有關(guān)Struts 2開發(fā)所涉及的各類知識,內(nèi)容由淺入深,涵蓋Struts 2的主要知識點,并且在介紹過程中,針對每個知識點都有相應(yīng)的實例。本書通俗易懂,結(jié)構(gòu)安排合理,各章主要內(nèi)容如下。第1章 主要介紹MVC的設(shè)計思想以及對Struts 1和Struts 2的概述和對比,并且介紹Struts 2的下載和安裝。第2章 講解Struts 2框架開發(fā)的基本知識和步驟,例如Struts 2框架搭建、Action接口訪問、ActionSupport、ActionContext類的使用。第3章 主要介紹有關(guān)Struts 2執(zhí)行的原理和流程,以及Action的驅(qū)動模式。第4章 主要學習有關(guān)Struts 2中web.xml、struts.xml文件的配置以及Result Types的使用。第5章 主要介紹有關(guān)Struts 2其他配置的使用,例如Struts 2中Action相關(guān)的標注、驗證標注的使用,并介紹struts.properties屬性文件和struts-plugin.xml文件的配置。第6章 Struts 2類型轉(zhuǎn)換器的基本概述和Struts 2中內(nèi)置轉(zhuǎn)換器的使用,并且學習如何實現(xiàn)自定義類型轉(zhuǎn)換器。第7章 學習Struts 2中核心技術(shù)攔截器的原理,并了解有關(guān)攔截器的配置和使用。第8章 學習表達式語言O(shè)GNL的語法基礎(chǔ)和使用,例如表達式的定義、常量、如何訪問JavaBean中的屬性和方法。第9章 Struts 2中標簽的使用,主要介紹Struts 2中通用標簽、UI標簽的應(yīng)用。第10章 也是對Struts 2中標簽的介紹,主要包括對Struts 2中Ajax標簽和主題以及模板的介紹。第11章 學習Struts 2中校驗器的使用,主要包括對Struts 2中基礎(chǔ)校驗、服務(wù)器端校驗、客戶端校驗以及Ajax校驗的講解。第12章 學習Struts 2框架國際化的應(yīng)用,主要包括頁面內(nèi)容的國際化、錯誤信息的國際化、日期和數(shù)值的國際化。第13章 主要是Struts 2中綜合使用技術(shù)的介紹,包括防止表單重復(fù)提交、文件上傳下載以及部分擴展技術(shù)等。第14章 學習Struts 2和其他Java EE技術(shù)整合應(yīng)用,包括Struts 2 + Spring的整合、Struts 2 + Hibernate的整合以及S2SH技術(shù)的整合應(yīng)用。第15章 通過一個留言板項目案例的開發(fā),向讀者介紹留言板案例主要模塊的開發(fā),有助于讀者快速掌握Struts 2開發(fā)技術(shù)。2. 本書特色(1) 本書在每章后面,增加了上機實訓,以便課后加強讀者的動手能力。(2) 每章后面提供了習題,幫助讀者溫習所學的知識。(3) 對于后面的案例,本書提供了完整的源文件。(4) 對于一些細節(jié)之處,本書在全書需注意的地方,增加了“注意”內(nèi)容,以便讀者更好地掌握細節(jié)。3. 適用讀者本書專門為在校學生和零基礎(chǔ)的讀者量身定制,是普通高等院校Struts 2程序設(shè)計課程的首選教材,同時也可作為Struts 2愛好者的自學用書。4. 本書作者本書由天馬程序員(TOMO)俱樂部創(chuàng)始人之一孫連偉、天津師范大學副研究員武迪編著,邱加永、熊蕭、王學鋒、張靜等參與編寫。編者力求表述規(guī)范、措辭嚴謹、通俗易懂。但限于自身水平,疏漏之處在所難免,讀者在閱讀的過程中遇到什么問題或者有好的建議或意見,歡迎隨時與我們聯(lián)系。為便于相關(guān)問題的討論,讀者可以加入QQ群:259798954,或發(fā)送郵件到24308768@qq.com與作者交流。編 者
第1章 Struts 2 概述1.1 MVC思想概述1.1.1 傳統(tǒng)的Model 1和Model 21.1.2 MVC思想及特點1.1.3 常見MVC技術(shù)1.2 Struts 1概述1.3 Struts 2概述1.3.1 Struts 2的優(yōu)勢1.3.2 Struts 2的體系結(jié)構(gòu)1.3.3 Struts 2的配置文件1.3.4 Struts 2的標簽庫1.3.5 Struts 2的控制器1.4 Struts 2的下載和安裝1.5 上機實訓1.6 本章習題第2章 Struts 2 入門2.1 HelloWorld應(yīng)用介紹2.2 創(chuàng)建Struts 2的Web應(yīng)用2.2.1 創(chuàng)建Web應(yīng)用2.2.2 用戶請求頁面2.2.3 控制器實現(xiàn)2.2.4 配置Action2.2.5 完成應(yīng)用2.3 Struts 2的Action2.3.1 實現(xiàn)Action接口2.3.2 Action訪問ActionContext2.3.3 繼承ActionSupport類2.4 上機實訓2.5 本章習題第3章 Struts 2的核心技術(shù)3.1 Struts 2的執(zhí)行流程和原理3.2 Action的驅(qū)動模式3.2.1 屬性驅(qū)動模式3.2.2 模型驅(qū)動模式3.3 上機實訓3.4 本章習題第4章 Struts 2的配置方式(1)4.1 web.xml文件的配置4.2 struts.xml文件的配置4.2.1 bean的配置4.2.2 package的配置4.2.3 namespace的配置4.2.4 constant的配置4.2.5 interceptor的配置4.2.6 include的配置4.2.7 action的配置4.2.8 result的配置4.2.9 exception的配置4.3 Result Types的配置4.3.1 Chain Result的配置4.3.2 Dispatcher Result的配置4.3.3 FreeMarker Result的配置4.3.4 HttpHeader Result的配置4.3.5 Redirect Result的配置4.3.6 Stream Result的配置4.3.7 Velocity Result的配置4.3.8 Xslt Result的配置4.3.9 PlainText Result的配置4.3.10 JSON Result的配置4.3.11 全局結(jié)果4.3.12 動態(tài)結(jié)果映射4.4 上機實訓4.5 本章習題第5章 Struts 2的配置方式(2)5.1 Annotations的配置5.1.1 Namespace的配置5.1.2 ParentPackage的配置5.1.3 Action的配置5.1.4 Actions的配置5.1.5 InterceptorRefs的配置5.1.6 Result的配置5.1.7 Results的配置5.1.8 ResultPath的配置5.1.9 ExceptionMapping的配置5.1.10 ExceptionMappings的配置5.2 Validation Annotations的配置5.2.1 ConversionErrorFieldValidator
的配置5.2.2 DateRangeFieldValidator
的配置5.2.3 DoubleRangeFieldValidator
的配置5.2.4 EmailValidator的配置5.2.5 ExpressionValidator的配置5.2.6 IntRangeFieldValidator
的配置5.2.7 RegexFieldValidator的配置5.2.8 RequiredFieldValidator
的配置5.2.9 RequiredStringValidator
的配置5.2.10 StringLengthFieldValidator
的配置5.2.11 UrlValidator的配置5.2.12 Validation的配置5.2.13 Validations的配置5.2.14 VisitorFieldValidator的配置5.2.15 CustomValidator的配置5.3 struts.properties的配置5.4 struts-plugin.xml的配置5.5 各種配置文件的加載順序5.6 上機實訓5.7 本章習題第6章 Struts 2的類型轉(zhuǎn)換6.1 Struts 2類型轉(zhuǎn)換器6.1.1 Struts 2內(nèi)置的類型轉(zhuǎn)換器6.1.2 自定義轉(zhuǎn)換器6.2 批量類型轉(zhuǎn)換6.3 上機實訓6.4 本章習題第7章 Struts 2的攔截器7.1 理解攔截器7.1.1 理解DRY規(guī)則7.1.2 攔截器的原理7.1.3 Struts 2內(nèi)建的攔截器7.1.4 struts-default.xml里配置的
攔截器7.2 攔截器的配置7.2.1 配置攔截器7.2.2 攔截器的使用7.2.3 配置默認的攔截器7.3 自定義攔截器7.3.1 實現(xiàn)攔截器類7.3.2 使用攔截器7.3.3 攔截方法的攔截器7.4 攔截器示例7.5 用Annotation配置攔截器7.6 上機實訓7.7 本章習題第8章 Struts 2 OGNL的應(yīng)用8.1 OGNL概述8.2 OGNL語法基礎(chǔ)8.2.1 OGNL表達式8.2.2 常量8.2.3 操作符8.2.4 訪問JavaBean中的屬性8.2.5 索引訪問8.3 OGNL的使用8.4 Struts 2中的OGNL8.5 上機實訓8.6 本章習題第9章 Struts 2的標簽(1)9.1 Struts 2標簽的引入9.2 通用標簽9.2.1 流程控制標簽9.2.2 數(shù)據(jù)標簽9.3 UI標簽9.3.1 表單標簽9.3.2 非表單標簽9.4 上機實訓9.5 本章習題第10章 Struts 2的標簽(2)10.1 Ajax標簽10.1.1 a標簽10.1.2 autocompleter標簽10.1.3 bind標簽10.1.4 datetimepicker標簽10.1.5 div標簽10.1.6 head標簽10.1.7 submit標簽10.1.8 tabbedPanel標簽10.1.9 textarea標簽10.1.10 tree/treenode標簽10.2 Struts 2主題和模板10.3 上機實訓10.4 本章習題第11章 Struts 2的校驗11.1 校驗基礎(chǔ)11.2 服務(wù)器端的校驗配置11.3 客戶端校驗配置11.4 Ajax校驗配置11.5 上機實訓11.6 本章習題第12章 Struts 2的國際化12.1 常見國際化示例12.2 頁面內(nèi)容的國際化12.3 錯誤信息國際化12.4 格式化輸出日期和數(shù)值12.5 資源文件的加載方式和流程12.6 上機實訓12.7 本章習題第13章 Struts 2上傳下載和其他
技術(shù)13.1 Token防止表單重復(fù)提交13.1.1 TokenInterceptor的使用13.1.2 TokenSessionStoreInterceptor
的使用13.2 Struts 2文件的上傳和下載13.2.1 Struts 2文件的上傳13.2.2 Struts 2文件的下載13.2.3 中文文件的下載13.3 Struts 2中文亂碼處理總結(jié)13.4 頁面跳轉(zhuǎn)技巧13.5 使用SiteMesh布局13.5.1 SiteMesh簡介13.5.2 SiteMesh運行原理13.5.3 SiteMesh實例13.6 在Struts 2中使用FreeMarker13.6.1 FreeMarker簡介13.6.2 FreeMarker快速上手13.6.3 在Struts 2中使用
FreeMarker13.7 上機實訓13.8 本章習題第14章 S2SH技術(shù)整合14.1 為什么要整合S2SH14.2 Struts 2與Spring整合14.3 Struts 2與Hibernate整合14.4 Struts 2 + Spring + Hibernate整合14.5 上機實訓14.6 本章習題第15章 Struts 2留言板項目案例15.1 系統(tǒng)概述15.2 系統(tǒng)需求15.2.1 前臺留言板塊15.2.2 管理留言板塊15.3 系統(tǒng)功能描述15.3.1 瀏覽留言15.3.2 管理員后臺操作15.4 系統(tǒng)設(shè)計15.4.1 系統(tǒng)架構(gòu)設(shè)計15.4.2 業(yè)務(wù)實體設(shè)計15.4.3 業(yè)務(wù)邏輯設(shè)計15.5 數(shù)據(jù)庫設(shè)計15.5.1 E-R圖設(shè)計15.5.2 物理建模15.5.3 設(shè)計表格15.5.4 數(shù)據(jù)表腳本15.6 JDBC封裝15.6.1 公共接口封裝15.6.2 數(shù)據(jù)庫連接類15.6.3 Dao工廠類15.7 功能模塊實現(xiàn)15.7.1 控制器Action的實現(xiàn)15.7.2 業(yè)務(wù)邏輯層的實現(xiàn)15.7.3 struts.xml文件的配置15.8 運行工程15.8.1 使用工具15.8.2 工程部署15.8.3 運行程序15.9 上機實訓15.10 本章習題附錄1 部分屬性設(shè)置說明附錄2 Struts 2程序開發(fā)實用教程
習題答案