出版時(shí)間:2012-1 出版社:機(jī)械工業(yè)出版社 作者:陸舟
Tag標(biāo)簽:無(wú)
前言
為什么寫(xiě)本書(shū) 在基于Java的Web開(kāi)發(fā)領(lǐng)域,Apache旗下的Struts無(wú)疑具有非常重要的地位。從歷史上看,Struts是出現(xiàn)較早的Web層解決方案,它借助Apache的影響力積累了大量的客戶群體。在之后的歲月中,Struts吸收合并了另外一個(gè)開(kāi)源社區(qū)的精品Webwork2成為Struts2,借助Webwork2先進(jìn)的設(shè)計(jì)理念和優(yōu)雅的實(shí)現(xiàn)及原先Struts社區(qū)積累的人氣,打造成新一代的Web開(kāi)發(fā)解決方案?! o(wú)疑,Struts2贏得了眾多開(kāi)發(fā)者的認(rèn)同,也贏得了市場(chǎng)。目前,Struts2已經(jīng)成為Web開(kāi)發(fā)解決方案的一股重要力量,并擁有龐大的開(kāi)發(fā)者社群?! ?duì)開(kāi)發(fā)者來(lái)說(shuō),隨著Web開(kāi)發(fā)技術(shù)的不斷革新,往往都需要一個(gè)優(yōu)秀的框架作為程序開(kāi)發(fā)的骨架,并在這個(gè)基礎(chǔ)上完成Web層所賦予的任務(wù)。而Struts2,向我們提供了一個(gè)完整的Web層設(shè)計(jì)和開(kāi)發(fā)的思路,為我們展示了許多Web層設(shè)計(jì)和開(kāi)發(fā)的最佳實(shí)踐??梢哉f(shuō),使用Struts2作為解決方案,已經(jīng)成為絕大多數(shù)Web開(kāi)發(fā)者的首選?! truts2的源碼中,不僅包含了優(yōu)秀的Web層設(shè)計(jì)理念,而且蘊(yùn)含了許多編程技巧和設(shè)計(jì)模式。通過(guò)本書(shū),讀者可以加深對(duì)Web開(kāi)發(fā)職責(zé)的理解,從而提高自己的開(kāi)發(fā)水平,拓展自己的技術(shù)視野。除此之外,本書(shū)所介紹的一些哲學(xué)觀點(diǎn),相信也能成為讀者重新思考Web開(kāi)發(fā)的重要借鑒?! ”緯?shū)面向的讀者 1.學(xué)習(xí) Java語(yǔ)言和Java EE技術(shù)的中高級(jí)讀者 對(duì)這部分讀者來(lái)說(shuō),Struts2和XWork的核心設(shè)計(jì)思想以及建立在此基礎(chǔ)之上的源代碼,是極佳的學(xué)習(xí)Java和Java EE技術(shù)的參考資料?! ?.Struts2的研究和開(kāi)發(fā)人員 對(duì)這部分讀者來(lái)說(shuō),本書(shū)的內(nèi)容能夠幫助他們加深對(duì)Struts2和XWork設(shè)計(jì)原理的哲學(xué)理解,并成為他們定制和擴(kuò)展Struts2框架的寶貴參考資料?! ?.開(kāi)源軟件愛(ài)好者 在本書(shū)中,我們不僅提供了Struts2的學(xué)習(xí)方法,還向大家介紹了一整套完整的開(kāi)源軟件的學(xué)習(xí)方法,可以幫助這部分讀者提高使用開(kāi)源軟件的效率和質(zhì)量?! ?.平臺(tái)開(kāi)發(fā)人員和架構(gòu)師 Struts2蘊(yùn)含的深刻的軟件設(shè)計(jì)理念,可以提高這部分讀者對(duì)軟件架構(gòu)的認(rèn)識(shí)和設(shè)計(jì)能力。
內(nèi)容概要
本書(shū)由國(guó)內(nèi)極為資深的Struts2技術(shù)專家(網(wǎng)名:downpour)親自執(zhí)筆,iteye兼CSDN產(chǎn)品總監(jiān)范凱(網(wǎng)名:robbin)以及51CTO等技術(shù)社區(qū)鼎力推薦。
本書(shū)以Struts2的源代碼為依托,通過(guò)對(duì)Struts2的源代碼的全面剖析深入探討了Struts2的架構(gòu)設(shè)計(jì)、實(shí)現(xiàn)原理、設(shè)計(jì)理念與設(shè)計(jì)哲學(xué),對(duì)從宏觀上和微觀上去了解Struts2的技術(shù)內(nèi)幕提供了大量真知灼見(jiàn)。同樣重要的是,本書(shū)還深入挖掘并分析了Struts2源代碼實(shí)現(xiàn)中蘊(yùn)含的大量值得稱道的編程技巧和設(shè)計(jì)模式,這對(duì)開(kāi)發(fā)者從Struts2的設(shè)計(jì)原理上去掌握和悟透Web層開(kāi)發(fā)的要點(diǎn)和本質(zhì)提供了絕佳的指導(dǎo)。
本書(shū)主要分為3大部分,內(nèi)容安排具有極強(qiáng)的邏輯推理性,章和章之間互相呼應(yīng)且互為印證。知識(shí)準(zhǔn)備篇首先介紹了獲取、閱讀和調(diào)試Struts2源代碼的方法,以及Struts2源代碼的組織形式;然后厘清了Web開(kāi)發(fā)中極易混淆的一些重要概念,以及Struts2的核心技術(shù)、宏觀視圖、微觀元素、配置元素等,提綱挈領(lǐng)地對(duì)Struts2進(jìn)行了多角度的講解。核心技術(shù)篇首先分析了Struts2中多種具有代表性的設(shè)計(jì)模式,然后對(duì)Struts2中的精華——OGNL表達(dá)式引擎和XWork框架的原理及機(jī)制進(jìn)行了全面深入的分析和講解。運(yùn)行主線篇首先對(duì)Struts2的兩大運(yùn)行主線——初始化主線和HTTP請(qǐng)求處理主線進(jìn)行了深入的剖析,然后對(duì)Struts2的擴(kuò)展機(jī)制進(jìn)行了解讀和抽象。
作者簡(jiǎn)介
陸舟(downpour),資深Java技術(shù)專家,擅長(zhǎng)企業(yè)級(jí)Java應(yīng)用開(kāi)發(fā)和Java
Web應(yīng)用開(kāi)發(fā),對(duì)Struts、Spring和Seam等開(kāi)源Java框架有十分深入的研究,積累了豐富的經(jīng)驗(yàn)。在Java和Web開(kāi)發(fā)社區(qū)非?;钴S,撰寫(xiě)了大量與Java
EE相關(guān)的技術(shù)文章,其著名的“忘記李剛,一步一步跟我學(xué)Struts2”系列技術(shù)文章廣受好評(píng),在ITeye等技術(shù)社區(qū)留下了深遠(yuǎn)的影響。此外,他還是開(kāi)源技術(shù)的積極倡導(dǎo)者和推動(dòng)者,參與過(guò)Spring中文文檔重要章節(jié)的翻譯,為眾多開(kāi)源框架在國(guó)內(nèi)的普及和發(fā)展做出了很大貢獻(xiàn)。
書(shū)籍目錄
前言
第一部分 知識(shí)準(zhǔn)備篇
第1章 厲兵秣馬——開(kāi)發(fā)環(huán)境準(zhǔn)備
1.1 準(zhǔn)備源代碼閱讀環(huán)境
1.1.1 安裝與配置JDK
1.1.2 安裝Eclipse與源碼調(diào)試
1.1.3 安裝與配置Web服務(wù)器
1.1.4 在Eclipse中使用Jetty搭建Web開(kāi)發(fā)環(huán)境
1.2 獲取Struts2
1.2.1 Struts2的相關(guān)資源下載
1.2.2 Struts2項(xiàng)目的目錄組織結(jié)構(gòu)
1.3 Struts2源碼的初步研究
1.3.1 源碼的組織形式
1.3.2 調(diào)試Struts2源碼
1.4 小結(jié)
第2章 固本清源——Web開(kāi)發(fā)淺談
2.1 面向?qū)ο鬁\談
2.1.1 對(duì)象構(gòu)成模型
2.1.2 對(duì)象關(guān)系模型
2.1.3 面向?qū)ο缶幊痰幕居^點(diǎn)
2.2 框架的本質(zhì)
2.3 最佳實(shí)踐
2.4 Web開(kāi)發(fā)的基本模式
2.4.1 分層開(kāi)發(fā)模式
2.4.2 MVC模式
2.5 表示層的困惑
2.6 如何學(xué)習(xí)開(kāi)源框架
2.7 小結(jié)
第3章 提綱挈領(lǐng)——Struts2概覽
3.1 Struts2的來(lái)世今生
3.2 Struts2面面觀
3.2.1 Struts2的運(yùn)行環(huán)境
3.2.2 Struts2的應(yīng)用場(chǎng)景
3.2.3 Struts2的核心技術(shù)
3.3 多視角透析Struts2
3.3.1 透視鏡——Struts2的宏觀視圖
3.3.2 顯微鏡——Struts2的微觀元素
3.4 Struts2的配置元素
3.4.1 Struts2配置詳解
3.4.2 Struts2配置元素定義
3.4.3 Struts2配置元素的分類
3.5 小結(jié)
第二部分 核心技術(shù)篇
第4章 源頭活水——Struts2中的設(shè)計(jì)模式
4.1 ThreadLocal模式
4.1.1 線程安全問(wèn)題的由來(lái)
4.1.2 ThreadLocal模式的實(shí)現(xiàn)機(jī)理
4.1.3 ThreadLocal模式的應(yīng)用場(chǎng)景
4.1.4 ThreadLocal模式的核心元素
4.2 裝飾(Decorator)模式
4.2.1 裝飾模式的定義
4.2.2 裝飾模式的構(gòu)成要素
4.2.3 裝飾模式的應(yīng)用案例
4.3 策略(Strategry)模式
4.3.1 策略模式的定義
4.3.2 策略模式的應(yīng)用場(chǎng)景
4.3.3 策略模式的深入思考
4.4 構(gòu)造(Builder)模式
4.4.1 構(gòu)造模式的核心要素
4.4.2 構(gòu)造模式的應(yīng)用場(chǎng)景
4.4.3 對(duì)象構(gòu)造步驟
4.5 責(zé)任鏈(Chain Of Responsibility)模式
4.5.1 責(zé)任鏈模式的定義
4.5.2 責(zé)任鏈模式的邏輯意義
4.6 小結(jié)
第5章 生命之源——XWork中的容器
5.1 容器,對(duì)象生命周期管理的基石
5.1.1 對(duì)象的生命周期管理
5.1.2 容器(Container)的引入
5.1.3 容器(Container),不是容器(Collection)
5.2 XWork容器概覽
5.2.1 XWork容器的定義
5.2.2 XWork容器的管轄范圍
5.2.3 XWork容器操作詳解
5.3 深入淺出XWork容器
5.3.1 XWork容器的存儲(chǔ)結(jié)構(gòu)
5.3.2 XWork容器的實(shí)現(xiàn)機(jī)理
5.4 統(tǒng)一的容器操作接口——ObjectFactory
5.5 小結(jié)
第6章 靈丹妙藥——OGNL,數(shù)據(jù)流轉(zhuǎn)的催化劑
6.1 架起數(shù)據(jù)溝通的橋梁——表達(dá)式引擎
6.1.1 數(shù)據(jù)流轉(zhuǎn)的困境
6.1.2 數(shù)據(jù)訪問(wèn)的困境
6.1.3 表達(dá)式引擎
6.2 強(qiáng)大的OGNL
6.2.1 深入OGNL的API
6.2.2 OGNL三要素
6.2.3 OGNL的基本操作
6.2.4 深入this指針
6.2.5 有關(guān)#符號(hào)的三種用途
6.3 深入OGNL內(nèi)部
6.3.1 深入OgnlContext
6.3.2 深入OGNL的計(jì)算規(guī)則
6.3.3 深入OGNL的擴(kuò)展方式
6.4 小結(jié)
第7章 別具匠心——XWork設(shè)計(jì)原理
7.1 請(qǐng)求-響應(yīng)的哲學(xué)
7.1.1 請(qǐng)求-響應(yīng)的基本概念
7.1.2 請(qǐng)求-響應(yīng)的實(shí)現(xiàn)模式
7.1.3 分歧和職責(zé)
7.2 數(shù)據(jù)流和控制流
7.2.1 再談MVC
7.2.2 數(shù)據(jù)載體的戰(zhàn)爭(zhēng)
7.2.3 控制流的細(xì)節(jié)
7.3 XWork概覽
7.3.1 XWork的宏觀視圖
7.3.2 XWork的微觀視圖
7.4 小結(jié)
第8章 庖丁解?!猉Work元素詳解
8.1 深入XWork宏觀視圖
8.1.1 數(shù)據(jù)流體系
8.1.2 控制流體系
8.2 數(shù)據(jù)流體系——相互依存
8.2.1 ActionContext——一個(gè)平行世界
8.2.2 ValueStack——對(duì)OGNL的擴(kuò)展
8.2.3 深入ValueStack的實(shí)現(xiàn)
8.2.4 形影不離、相互依存的Actioncontext與ValueStack
8.3 控制流體系——有條不紊
8.3.1 Action——革命性突破
8.3.2 Interceptor——騰飛的翅膀
8.3.3 ActionInvocation——核心調(diào)度
8.3.4 ActionProxy——執(zhí)行窗口
8.4 交互體系——水乳交融
8.4.1 數(shù)據(jù)環(huán)境的生命周期
8.4.2 三軍會(huì)師之地
8.4.3 Action交互體系
8.5 小結(jié)
第三部分 運(yùn)行主線篇
第9章 包羅萬(wàn)象——Struts2初始化主線
9.1 配置元素與初始化主線
9.1.1 從入口程序開(kāi)始
9.1.2 初始化主線的核心驅(qū)動(dòng)力
9.1.3 初始化主線的構(gòu)成元素
9.2 核心分發(fā)器——Dispatcher
9.2.1 核心分發(fā)器的核心驅(qū)動(dòng)作用
9.2.2 核心分發(fā)器的數(shù)據(jù)結(jié)構(gòu)
9.3 配置元素的加載器(Provider)
9.3.1 配置元素加載器的作用
9.3.2 容器加載器——ContainerProvider
9.3.3 事件映射加載器——PackageProvider
9.4 配置元素的構(gòu)造器(Builder)
9.4.1 容器構(gòu)造器——ContainerBuilder
9.4.2 事件映射構(gòu)造器——PackageConfig.Builder
9.5 配置元素的管理類
9.5.1 配置管理元素——Configuration
9.5.2 配置操作接口——ConfigurationManager
9.6 Struts2初始化主線詳解
9.6.1 核心分發(fā)器的初始化
9.6.2 容器的初始化
9.7 小結(jié)
第10章 井然有序——與Http請(qǐng)求的戰(zhàn)斗
10.1 制定作戰(zhàn)計(jì)劃
10.1.1 戰(zhàn)斗資源
10.1.2 戰(zhàn)斗進(jìn)程
10.2 第一戰(zhàn)場(chǎng)——Http請(qǐng)求的預(yù)處理階段
10.2.1 三探入口程序
10.2.2 Http請(qǐng)求預(yù)處理類——PrepareOperations
10.2.3 Http請(qǐng)求的執(zhí)行類——ExecuteOperations
10.3 第二戰(zhàn)場(chǎng)——XWork處理階段
10.3.1 執(zhí)行控制權(quán)的移交
10.3.2 ActionInvocation調(diào)度的再分析
10.4 小結(jié)
第11章 展翅高飛——讓視圖放開(kāi)手腳
11.1 視圖(View)概述
11.1.1 視圖表現(xiàn)技術(shù)
11.1.2 視圖的本質(zhì)
11.1.3 視圖的職責(zé)
11.2 深入Result機(jī)制
11.2.1 Result的不同視角
11.2.2 Result職責(zé)分析
11.3 標(biāo)簽庫(kù),永恒的爭(zhēng)論話題
11.3.1 標(biāo)簽庫(kù)產(chǎn)生的初衷
11.3.2 標(biāo)簽庫(kù),毒藥還是解藥
11.3.3 標(biāo)簽庫(kù)的發(fā)展趨勢(shì)
11.3.4 標(biāo)簽的分類
11.4 數(shù)據(jù)訪問(wèn)的哲學(xué)
11.4.1 不要問(wèn)我從哪里來(lái)
11.4.2 不要問(wèn)我長(zhǎng)什么樣
11.5 小結(jié)
第12章 三頭六臂——Struts2的擴(kuò)展機(jī)制
12.1 程序擴(kuò)展機(jī)制的深入思考
12.1.1 插件模式的基本概念
12.1.2 常見(jiàn)的插件模式
12.1.3 插件模式的利弊分析
12.2 Struts2的插件模式
12.2.1 深入Struts2插件
12.2.2 Struts2插件分類
12.2.3 Struts2的插件加載機(jī)制
12.3 小結(jié)
后記
章節(jié)摘錄
版權(quán)頁(yè):插圖:
媒體關(guān)注與評(píng)論
Struts2是一個(gè)高度成熟的Web開(kāi)發(fā)框架,無(wú)論是穩(wěn)定性還是可靠性都經(jīng)過(guò)了市場(chǎng)的經(jīng)驗(yàn),幾乎已成為Web開(kāi)發(fā)領(lǐng)域的事實(shí)標(biāo)準(zhǔn)。Struts2框架本身的使用并不難,難的是通過(guò)理解它的實(shí)現(xiàn)原理來(lái)更好地指導(dǎo)基于框架的Web應(yīng)用開(kāi)發(fā)。本書(shū)以Struts2的源代碼為依托,以分析它的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理為手段,深刻揭示了Struts2框架背后的設(shè)計(jì)哲學(xué)和Web層的設(shè)計(jì)理念思想。不僅能從宏觀和微觀上幫助讀者透徹認(rèn)識(shí)Struts2框架的實(shí)現(xiàn)原理和實(shí)現(xiàn)細(xì)節(jié),而且能更好地利用Struts2進(jìn)行Web應(yīng)用開(kāi)發(fā)。強(qiáng)烈推薦! ——51CTO(中國(guó)領(lǐng)先的IT技術(shù)社區(qū))目前主流的Web開(kāi)發(fā)框架是Struts2和SpringMVC,相比較而言,我個(gè)人比較偏愛(ài)Struts2?;赪ebwork內(nèi)核的Struts2最早是由天才程序員Richard Oberg開(kāi)發(fā)的,Richard也是JBoss的首任架構(gòu)師,AOP領(lǐng)域的開(kāi)拓者之一。Struts2的核心框架Xwork本身是一個(gè)非常精致小巧的IoC容器,其AOP的實(shí)現(xiàn)方式也有眾多精巧之處值得細(xì)細(xì)品味。本書(shū)作者陸舟是ITeye(原JavaEye)的資深會(huì)員之一,在Java Web開(kāi)發(fā)版塊非?;钴S,是我所知道的國(guó)內(nèi)對(duì)Struts2掌握程度非常深入的幾個(gè)人之一。尤為難得的是,他寫(xiě)技術(shù)文章的邏輯性極強(qiáng),對(duì)Struts2的整個(gè)架構(gòu)和體系的介紹可謂有條不紊,滴水不漏。我個(gè)人特別喜歡本書(shū)對(duì)XWork框架和OGNL表達(dá)式語(yǔ)言濃墨重彩的剖析,因?yàn)閄Work和OGNL是Struts2最為精華的部分,也是很多人掌握不好的地方。對(duì)于希望全面和深入掌握Struts2的朋友,我強(qiáng)烈推薦這本書(shū)?! 秳P(Robbin) ITEye創(chuàng)始人/CSDN產(chǎn)品總監(jiān)Spring、Struts和Hibernate這三大框架是從事企業(yè)級(jí)Java應(yīng)用開(kāi)發(fā)的程序員必須掌握的。一名合格的Java程序員要能夠掌握框架的功能、配置與使用,優(yōu)秀的Java程序員能要夠理解框架的設(shè)計(jì)思想和實(shí)現(xiàn)原理。本書(shū)通過(guò)源代碼深入分析了Struts2框架的實(shí)現(xiàn)原理,不僅能讓讀者知其然,還能讓讀者知其所以然,是Java程序員從合格走向優(yōu)秀的一本不可多得的參考書(shū)。 ——周志明(IcyFenix) 資深Java技術(shù)專家/暢銷書(shū)《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐》作者
編輯推薦
《Struts2技術(shù)內(nèi)幕:深入解析Struts2架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理》編輯推薦:透過(guò)源代碼對(duì)Struts2的架構(gòu)設(shè)計(jì)、實(shí)現(xiàn)原理和設(shè)計(jì)哲學(xué)進(jìn)行了全面而透徹的剖析,從Struts2的源代碼中提煉出優(yōu)秀Web層的設(shè)計(jì)理念和最佳實(shí)踐,深入分析源代碼,中蘊(yùn)含的大量編程技巧和設(shè)計(jì)模式。自從2005年Apache宣布將原Strutsl社區(qū)與Webwork社區(qū)進(jìn)行整合并著力打造新一代的MVC框架Struts2開(kāi)始,Struts2就憑借來(lái)自于Webwork的獨(dú)特技術(shù)優(yōu)勢(shì)和Apache強(qiáng)大的社區(qū)力量迅速成為整個(gè)Web開(kāi)發(fā)領(lǐng)域最流行的開(kāi)發(fā)框架。Struts2及其核心依賴XWork的設(shè)計(jì)思想獨(dú)樹(shù)一幟,提供了一系列具有革命性意義的Web開(kāi)發(fā)解決方案。XWork小巧的容器結(jié)構(gòu)、對(duì)于命令模式獨(dú)特的實(shí)現(xiàn)機(jī)制、插件擴(kuò)展模型的設(shè)計(jì)以及Struts2對(duì)于Web請(qǐng)求的處理方式,對(duì)所有的Web開(kāi)發(fā)都有特別的指導(dǎo)意義。在《Struts2技術(shù)內(nèi)幕:深入解析Struts2架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理》中,我們將Struts2的源碼分析作為貫穿整《Struts2技術(shù)內(nèi)幕:深入解析Struts2架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理》的邏輯主線,其主要目的不僅僅是為了向讀者展示Struts2的設(shè)計(jì)原理和設(shè)計(jì)思想,更為重要的是希望通過(guò)Struts2的源碼總結(jié)出Web開(kāi)發(fā)中的最佳實(shí)踐。因此,《Struts2技術(shù)內(nèi)幕:深入解析Struts2架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理》使用了大量的篇幅為讀者撇清眾多Web開(kāi)發(fā)中極易混淆的概念,并以源碼為基礎(chǔ)將這些概念與Web開(kāi)發(fā)的方法論結(jié)合在一起。相信對(duì)于想深入了解Struts2實(shí)現(xiàn)內(nèi)幕和Web開(kāi)發(fā)細(xì)節(jié)的廣大程序員有極佳的指導(dǎo)和借鑒作用。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版