- Struts2技術(shù)內(nèi)幕:深入解析Struts架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理
- 陸舟
- 1391字
- 2018-12-31 20:03:40
前言
為什么寫本書
在基于Java的Web開發(fā)領(lǐng)域,Apache旗下的Struts無疑具有非常重要的地位。從歷史上看,Struts是出現(xiàn)較早的Web層解決方案,它借助Apache的影響力積累了大量的客戶群體。在之后的歲月中,Struts吸收合并了另外一個(gè)開源社區(qū)的精品Webwork2成為Struts2,借助Webwork2先進(jìn)的設(shè)計(jì)理念和優(yōu)雅的實(shí)現(xiàn)及原先Struts社區(qū)積累的人氣,打造成新一代的Web開發(fā)解決方案。
無疑,Struts2贏得了眾多開發(fā)者的認(rèn)同,也贏得了市場(chǎng)。目前,Struts2已經(jīng)成為Web開發(fā)解決方案的一股重要力量,并擁有龐大的開發(fā)者社群。
對(duì)開發(fā)者來說,隨著Web開發(fā)技術(shù)的不斷革新,往往都需要一個(gè)優(yōu)秀的框架作為程序開發(fā)的骨架,并在這個(gè)基礎(chǔ)上完成Web層所賦予的任務(wù)。而Struts2,向我們提供了一個(gè)完整的Web層設(shè)計(jì)和開發(fā)的思路,為我們展示了許多Web層設(shè)計(jì)和開發(fā)的最佳實(shí)踐。可以說,使用Struts2作為解決方案,已經(jīng)成為絕大多數(shù)Web開發(fā)者的首選。
Struts2的源碼中,不僅包含了優(yōu)秀的Web層設(shè)計(jì)理念,而且蘊(yùn)含了許多編程技巧和設(shè)計(jì)模式。通過本書,讀者可以加深對(duì)Web開發(fā)職責(zé)的理解,從而提高自己的開發(fā)水平,拓展自己的技術(shù)視野。除此之外,本書所介紹的一些哲學(xué)觀點(diǎn),相信也能成為讀者重新思考Web開發(fā)的重要借鑒。
本書面向的讀者
1.學(xué)習(xí)Java語言和Java EE技術(shù)的中高級(jí)讀者
對(duì)這部分讀者來說,Struts2和XWork的核心設(shè)計(jì)思想以及建立在此基礎(chǔ)之上的源代碼,是極佳的學(xué)習(xí)Java和Java EE技術(shù)的參考資料。
2.Struts2的研究和開發(fā)人員
對(duì)這部分讀者來說,本書的內(nèi)容能夠幫助他們加深對(duì)Struts2和XWork設(shè)計(jì)原理的哲學(xué)理解,并成為他們定制和擴(kuò)展Struts2框架的寶貴參考資料。
3.開源軟件愛好者
在本書中,我們不僅提供了Struts2的學(xué)習(xí)方法,還向大家介紹了一整套完整的開源軟件的學(xué)習(xí)方法,可以幫助這部分讀者提高使用開源軟件的效率和質(zhì)量。
4.平臺(tái)開發(fā)人員和架構(gòu)師
Struts2蘊(yùn)含的深刻的軟件設(shè)計(jì)理念,可以提高這部分讀者對(duì)軟件架構(gòu)的認(rèn)識(shí)和設(shè)計(jì)能力。
本書的主要內(nèi)容
本書主要分為三個(gè)部分:知識(shí)準(zhǔn)備篇、核心技術(shù)篇和運(yùn)行主線篇。
知識(shí)準(zhǔn)備篇(第1章~第3章)。除了介紹和分析解讀Struts2的基本環(huán)境之外,這一篇的重要任務(wù)是幫助讀者梳理Web開發(fā)中的主要概念和知識(shí)體系。
核心技術(shù)篇(第4章~第8章)。將對(duì)Struts2所依賴的一些核心技術(shù)一一做出詳細(xì)解讀,包括Struts2中所用到的設(shè)計(jì)模式、XWork的容器實(shí)現(xiàn)、OGNL表達(dá)式引擎、XWork框架的控制流和數(shù)據(jù)流體系等等。
運(yùn)行主線篇(第9章~第12章)。其中主要涉及對(duì)Struts2兩大核心運(yùn)行主線的研究以及對(duì)Struts2的擴(kuò)展機(jī)制的分析。
本書的篇章安排有很強(qiáng)的邏輯性,章和章之間互相呼應(yīng)、互相論證。讀者在閱讀時(shí)可以帶著問題到后續(xù)章節(jié)中去尋找答案,而在每章的小結(jié)中,我們會(huì)為讀者安排每章的概要性問題,大家可以在此做一個(gè)回顧并思考問題的答案,從而起到溫故而知新的效果。
致謝
首先要感謝iteye,感謝iteye的站長robbin,是iteye給了我Web開發(fā)知識(shí)的啟蒙教育。也是在iteye上,我第一次接觸到了Struts2的前身Webwork 2。而iteye多年來在Web開發(fā)領(lǐng)域所掀起的各種討論,也成為本書許多重要觀點(diǎn)的產(chǎn)生源泉。
感謝robbin、Readonly、moxie,還有許多曾經(jīng)活躍在iteye上的朋友,你們都是曾經(jīng)為Struts2在國內(nèi)的推廣做出過杰出貢獻(xiàn)的人。本書的所有成果,都只是“站在了巨人的肩膀之上”,集合了眾家之言而形成的Web開發(fā)之道。
特別感謝ahuaxuan在本書創(chuàng)作過程中給予我的幫助。與你在許多編程哲學(xué)上的探討,每次都能讓我受益匪淺。在本書的眾多觀點(diǎn)中,有許多出自你的連珠妙語。
最后感謝本書的策劃編輯楊福川和關(guān)敏,你們是我見過的脾氣最好、業(yè)務(wù)能力最強(qiáng)的出版人。我從你們的身上看到了一種堅(jiān)韌不拔的精神和精益求精的態(tài)度。這對(duì)我的一生都有幫助。
- C++ Primer習(xí)題集(第5版)
- Learning Cython Programming
- PyQt從入門到精通
- 數(shù)據(jù)結(jié)構(gòu)(Java語言描述)
- Apache Spark Graph Processing
- Instant QlikView 11 Application Development
- Cassandra Data Modeling and Analysis
- Visual Basic學(xué)習(xí)手冊(cè)
- Java面向?qū)ο蟪绦蛟O(shè)計(jì)
- Python語言實(shí)用教程
- Building Serverless Web Applications
- .NET 4.5 Parallel Extensions Cookbook
- Struts 2.x權(quán)威指南
- Blender 3D Cookbook
- Eclipse開發(fā)(學(xué)習(xí)筆記)