目前,很多企業(yè)應(yīng)用中都會(huì)使用各種框架技術(shù),其中Struts2、Hibernate、Spring是三個(gè)常用的Java EE開(kāi)源框架,掌握這些主流框架技術(shù)是很多企業(yè)對(duì)開(kāi)發(fā)人員的基本要求。本書(shū)將這三大框架“一網(wǎng)打盡”,是一把開(kāi)啟Java EE開(kāi)源框架世界的鑰匙。本教材主要分為三個(gè)部分,每部分學(xué)習(xí)一個(gè)框架,而每部分卻不是孤立的,教材使用一個(gè)案例貫穿始終。在每個(gè)部分,都將結(jié)合學(xué)習(xí)到的新技能不斷修改完善案例,直到最終將三大框架都應(yīng)用到了案例當(dāng)中,能夠幫助讀者深入理解三大框架如何應(yīng)用在真實(shí)應(yīng)用中。
本書(shū)適合各層次的Java EE開(kāi)發(fā)人員閱讀。
第一部分 Struts2框架
第1章 Struts2快速入門(mén)
1.1 Struts2概述
1.2 Struts2簡(jiǎn)單實(shí)例
1.3 實(shí)例的運(yùn)行過(guò)程
1.4 Struts2的特點(diǎn)
1.5 教材案例準(zhǔn)備
1.6 本章小結(jié)
第2章 Struts2的控制器
2.1 過(guò)濾器
2.2 攔截器
2.3 Action
2.4 本章小結(jié)
第3章 自定義攔截器
3.1 編寫(xiě)攔截器類(lèi) 第一部分 Struts2框架
第1章 Struts2快速入門(mén)
1.1 Struts2概述
1.2 Struts2簡(jiǎn)單實(shí)例
1.3 實(shí)例的運(yùn)行過(guò)程
1.4 Struts2的特點(diǎn)
1.5 教材案例準(zhǔn)備
1.6 本章小結(jié)
第2章 Struts2的控制器
2.1 過(guò)濾器
2.2 攔截器
2.3 Action
2.4 本章小結(jié)
第3章 自定義攔截器
3.1 編寫(xiě)攔截器類(lèi)
3.2 配置使用攔截器
3.3 本章小結(jié)
第4章 Struts2框架的Action
4.1 Action接口
4.2 Action類(lèi)中的方法
4.3 將多個(gè)Action類(lèi)“合并”
4.4 Action類(lèi)的不同調(diào)用方式
4.5 本章小結(jié)
第5章 Action類(lèi)與Servlet API
5.1 使用ActionContext
5.2 使用ServletActionContext
5.3 IoC方式
5.4 ActionContext使用實(shí)例
5.5 本章小結(jié)
第6章 Action類(lèi)封裝請(qǐng)求參數(shù)
6.1 Field-Driven方式
6.2 Model-Driven方式
6.3 本章小結(jié)
第7章 Action類(lèi)的屬性
7.1 Action是多實(shí)例的
7.2 Action屬性封裝請(qǐng)求參數(shù)
7.3 Action屬性傳遞對(duì)象
7.4 Action屬性封裝Action配置參數(shù)
7.5 JSP文件中如何獲得Action屬性
7.6 本章小結(jié)
第8章 值棧與OGNL
8.1 值棧
8.2 OGNL
8.3 本章小結(jié)
第9章 國(guó)際化
9.1 哪些內(nèi)容需要國(guó)際化
9.2 Struts2國(guó)際化資源文件
9.3 struts.properties文件
9.4 使用國(guó)際化資源文件
9.5 使用多個(gè)國(guó)際化資源文件
9.6 本章小結(jié)
第10章 輸入校驗(yàn)
10.1 ActionSupport類(lèi)
10.2 JSP中顯示校驗(yàn)信息
10.3 input視圖
10.4 手工校驗(yàn)方式
10.5 Action中使用國(guó)際化資源文件
10.6 校驗(yàn)器校驗(yàn)
10.7 類(lèi)型轉(zhuǎn)換
10.8 本章小結(jié)
第11章 Struts2標(biāo)簽
11.1 Struts2標(biāo)簽庫(kù)概述
11.2 表單UI標(biāo)簽
11.3 非表單UI標(biāo)簽
11.4 控制標(biāo)簽
11.5 數(shù)據(jù)標(biāo)簽
11.6 本章小結(jié)
第12章 Struts2異常處理
12.1 Model層拋出異常
12.2 Action中直接捕獲異常
12.3 在struts.xml中聲明異常映射
12.4 本章小結(jié)
第13章 Struts2的Ajax支持
13.1 Ajax簡(jiǎn)介
13.2 Ajax簡(jiǎn)單案例
13.3 struts2中對(duì)Ajax的支持
13.4 本章小結(jié)
第14章 配置文件總結(jié)
14.1 web.xml
14.2 struts.xml
14.3 struts.properties
14.4 本章小結(jié)
第二部分 Hibernate框架
第1章 Hibernate快速入門(mén)
1.1 Hibernate概述
1.2 常用API
1.3 Eclipse中開(kāi)發(fā)Hibernate應(yīng)用
1.4 本章小結(jié)
第2章 Hibernate核心知識(shí)點(diǎn)
2.1 持久化類(lèi)
2.2 對(duì)象狀態(tài)
2.3 Hibernate屬性配置
2.4 ORM映射基礎(chǔ)
2.5 HQL語(yǔ)言
2.6 本章小結(jié)
第3章 HQL語(yǔ)言詳解
3.1 from子句
3.2 select子句
3.3 聚集函數(shù)
3.4 where子句
3.5 order by子句
3.6 group by子句
3.7 子查詢(xún)
3.8 本章小結(jié)
第4章 粒度設(shè)計(jì)
4.1 基于設(shè)計(jì)的粒度設(shè)計(jì)
4.2 基于性能的粒度設(shè)計(jì)
4.3 本章小結(jié)
第5章 關(guān)聯(lián)關(guān)系映射
5.1 關(guān)聯(lián)的方向與數(shù)量
5.2 一對(duì)多/多對(duì)一
5.2.1 基于主外鍵的一對(duì)多/多對(duì)一關(guān)聯(lián)
5.2.2 基于連接表的一對(duì)多/多對(duì)一關(guān)聯(lián)
5.3 一對(duì)一關(guān)聯(lián)
5.3.1 基于主鍵的一對(duì)一關(guān)聯(lián)
5.3.2 基于唯一外鍵的一對(duì)一關(guān)聯(lián)
5.4 多對(duì)多關(guān)聯(lián)
5.5 關(guān)聯(lián)映射配置文件
5.6 連接查詢(xún)
5.7 本章小結(jié)
第6章 繼承關(guān)系映射
6.1 本章實(shí)例準(zhǔn)備
6.2 TPS(Table Per SubClass)
6.3 TPH(Table Per Class Hierarchy)
6.4 TPC(Table Per Concrete Class)
6.5 多態(tài)查詢(xún)
6.6 本章小結(jié)
第7章 Hibernate性能提升
7.1 批量操作
7.2 延遲加載
7.3 batch-size屬性
7.4 本章小結(jié)
第8章 整合Struts/Hibernate
第9章 Hibernate4快速入門(mén)
9.1 新特性概述
9.2 常用的Annotation
9.3 本章小結(jié)
第三部分 Spring框架
第1章 Spring概述
1.1 Spring框架的模塊
1.2 使用Eclipse開(kāi)發(fā)Spring應(yīng)用
1.3 本章小結(jié)
第2章 IoC(控制反轉(zhuǎn))
2.1 什么是IoC
2.2 IoC的使用
2.3 需要使用IoC的對(duì)象
2.4 如何實(shí)例化bean
2.5 setter注入和構(gòu)造器注入
2.6 屬性值的配置方式
2.7 集合類(lèi)型屬性配置
2.8 bean的作用域
2.9 bean的初始化和析構(gòu)
2.10 IoC的技術(shù)基礎(chǔ)
2.10.1 反射技術(shù)
2.10.2 JavaBean自省技術(shù)
2.11 IoC使用實(shí)例(教材案例)
2.12 本章小結(jié)
第3章 AOP(面向切面編程)
3.1 AOP中的術(shù)語(yǔ)
3.2 Spring AOP快速入門(mén)
3.3 不同類(lèi)型的Advice
3.4 使用Advisor
3.5 Spring AOP的技術(shù)基礎(chǔ)
3.5.1 代理模式
3.5.2 動(dòng)態(tài)代理
3.6 本章小結(jié)
第4章 Spring整合Struts2
4.1 導(dǎo)入必要的類(lèi)庫(kù)
4.2 配置web.xml文件
4.3 修改Struts2框架的Action類(lèi)
4.4 修改struts.properties文件
4.5 修改struts.xml文件
4.6 修改applicationContext.xml
4.7 本章小結(jié)
第5章 Spring整合JDBC
5.1 為什么要整合JDBC
5.2 Spring JDBC包結(jié)構(gòu)
5.3 JdbcTemplate類(lèi)
5.4 獲得JdbcTemplate實(shí)例
5.5 JdbcTemplate使用實(shí)例
5.6 本章小結(jié)
第6章 Spring整合Hibernate
6.1 創(chuàng)建SessionFactory
6.2 HibernateTemplate類(lèi)
6.3 Spring整合Hibernate的實(shí)例
6.4 本章小結(jié)
第7章 Spring中的事務(wù)管理
7.1 平臺(tái)事務(wù)管理器接口
7.2 編程式事務(wù)管理
7.3 聲明式事務(wù)管理
7.4 本章小結(jié)
第8章 SSH整合實(shí)例
第9章 Spring3快速入門(mén)
9.1 Spring表達(dá)式語(yǔ)言
9.2 Bean配置元數(shù)據(jù)
9.3 本章小結(jié)
附錄A 企業(yè)關(guān)注的技能
第一部分 Struts2框架
第二部分 Hibernate框架
第三部分 Spring框架
序
當(dāng)我翻閱了“中軟國(guó)際卓越人才培養(yǎng)系列叢書(shū)”后,不禁為這套叢書(shū)的立意與創(chuàng)新之處感到欣喜。教育部“卓越工程師教育培養(yǎng)計(jì)劃”有三個(gè)主要特征:一是行業(yè)企業(yè)深度參與培養(yǎng)過(guò)程;二是學(xué)校按通用標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)培養(yǎng)工程人才;三是強(qiáng)化培養(yǎng)學(xué)生的工程能力和創(chuàng)新能力。這套叢書(shū)緊緊圍繞“卓越計(jì)劃”的要求展開(kāi),以企業(yè)人才需求為前提,同時(shí)又充分考慮了高校教育的特點(diǎn),能讓企業(yè)有效參與高校培養(yǎng)過(guò)程,是一套為“卓越計(jì)劃”量身打造的叢書(shū)。
叢書(shū)的設(shè)計(jì)理念緊扣中軟國(guó)際ETC的“5R”理念,即真實(shí)的企業(yè)環(huán)境、真實(shí)的項(xiàng)目經(jīng)理、真實(shí)的項(xiàng)目案例、真實(shí)的工作壓力、真實(shí)的就業(yè)機(jī)會(huì),切實(shí)地將企業(yè)真實(shí)需求展現(xiàn)給讀者。叢書(shū)中的知識(shí)點(diǎn)力求精簡(jiǎn)、準(zhǔn)確、實(shí)用,顯然是編著者經(jīng)過(guò)反復(fù)推敲并精心設(shè)計(jì)的成果。叢書(shū)中對(duì)企業(yè)用之甚少的知識(shí)點(diǎn),都進(jìn)行了弱化,用較少篇幅講解,而對(duì)于企業(yè)關(guān)注的知識(shí)點(diǎn),都使用非常詳盡的內(nèi)容進(jìn)行學(xué)習(xí)。這樣的設(shè)計(jì)對(duì)初學(xué)者尤其是在校學(xué)生非常必要,能夠節(jié)省很多學(xué)習(xí)時(shí)間,在有限的時(shí)間內(nèi)學(xué)習(xí)到企業(yè)關(guān)注的技能,而不是花費(fèi)很多精力去鉆研并不實(shí)用的內(nèi)容。
叢書(shū)非常強(qiáng)調(diào)“快速入門(mén)”這一法寶,能夠?qū)δ抽T(mén)技術(shù)“快速入門(mén)”永遠(yuǎn)是激發(fā)學(xué)習(xí)興趣的關(guān)鍵。叢書(shū)設(shè)計(jì)了很多“快速入門(mén)”章節(jié),使用詳盡豐富的圖示以及代碼示例,保證讀者只要根據(jù)叢書(shū)的指導(dǎo)進(jìn)行操作,就能夠盡快構(gòu)建出相關(guān)技術(shù)的實(shí)例。
叢書(shū)非常注重實(shí)際操作,很多知識(shí)點(diǎn)都是從提出問(wèn)題引出,從而在解決這個(gè)問(wèn)題的過(guò)程中講解相關(guān)的技能。叢書(shū)中沒(méi)有大篇幅的理論描述,盡力用最通俗、最簡(jiǎn)練的語(yǔ)言講解每一個(gè)問(wèn)題,而不是“故作高深”地使用很多新名詞。
非常值得一提的是,叢書(shū)配備了對(duì)應(yīng)的PPT講義,并將PPT講義顯示到了相應(yīng)章節(jié),這種形式令人耳目一新。首先能起到提綱挈領(lǐng)的作用,幫助讀者快速了解每個(gè)章節(jié)的主要內(nèi)容,掌握完整的知識(shí)體系。另外,這種方式非常適合在高校教學(xué)中使用,能夠完全與教材同步,方便學(xué)生課后復(fù)習(xí)及課前預(yù)習(xí),可以有效提高教學(xué)效果。
這套叢書(shū)是中軟國(guó)際多年行業(yè)經(jīng)驗(yàn)的積累和沉淀,也是眾多編者智慧與汗水的結(jié)晶,一定能在校企合作的道路上發(fā)揮積極長(zhǎng)遠(yuǎn)的作用。
國(guó)家示范性軟件學(xué)院建設(shè)工作辦公室副主任
北京交通大學(xué)軟件學(xué)院院長(zhǎng)
前言
“框架”一詞是很長(zhǎng)一段時(shí)間來(lái),在JavaEE開(kāi)發(fā)領(lǐng)域炙手可熱的一個(gè)名詞。目前存在很多種框架技術(shù),能夠有效解決JavaEE應(yīng)用開(kāi)發(fā)中很多通用的問(wèn)題,其中Struts2、Hibernate以及Spring是目前使用較多的三個(gè)框架,每個(gè)框架專(zhuān)注于解決不同的問(wèn)題,非常有代表性。本書(shū)將這三個(gè)框架“一網(wǎng)打盡”,提取每個(gè)框架中常用的內(nèi)容,旨在幫助讀者在有限時(shí)間內(nèi),能夠掌握這三個(gè)框架在企業(yè)應(yīng)用中最常用的功能,從而勝任Web應(yīng)用開(kāi)發(fā)。
Struts2框架是一個(gè)MVC框架;Hibernate框架是一個(gè)ORM框架;而Spring框架是一個(gè)綜合性的框架,是一個(gè)輕量級(jí)的解決方案。這三個(gè)框架往往各司其職,在應(yīng)用中的不同層面發(fā)揮作用。本書(shū)分為三個(gè)部分,每個(gè)部分學(xué)習(xí)一個(gè)框架,而這三個(gè)部分并不是互相獨(dú)立的,而是設(shè)計(jì)了一個(gè)“教材案例”將這三部分聯(lián)系在一起。在教材的第一部分,設(shè)計(jì)了一個(gè)“教材案例”,這個(gè)案例沒(méi)有復(fù)雜的業(yè)務(wù)邏輯,主要作用是輔助學(xué)習(xí)相關(guān)知識(shí)點(diǎn)。第一部分結(jié)束,使用了Struts2框架以及JDBC技術(shù)實(shí)現(xiàn)了這個(gè)案例。第二部分學(xué)習(xí)Hibernate,使用Hibernate框架替代了JDBC編程,完善了“教材案例”。第三部分學(xué)習(xí)Spring,使用Spring框架整合了Struts2、Hibernate,使得最終的“教材案例”中使用了三個(gè)框架進(jìn)行實(shí)現(xiàn)。這樣的設(shè)計(jì)和編寫(xiě)思路,能夠幫助讀者真正理解每個(gè)框架的作用,能夠正確選擇合適的框架解決問(wèn)題。
編者認(rèn)為,“快速入門(mén)是提高興趣的捷徑”?蚣苁窍鄬(duì)比較復(fù)雜的技術(shù),如果能幫助讀者快速搭建其開(kāi)發(fā)運(yùn)行環(huán)境,并順利部署運(yùn)行成功第一個(gè)應(yīng)用,那無(wú)疑會(huì)有效地提高讀者興趣。有了學(xué)習(xí)興趣,掌握相關(guān)技術(shù)將不再是一件難事。教材中處處圍繞這個(gè)思路展開(kāi),任何一個(gè)新的知識(shí)點(diǎn),都盡量避免過(guò)于冗長(zhǎng)的理論鋪墊,而是先從簡(jiǎn)單的實(shí)例開(kāi)始。相關(guān)實(shí)踐步驟都配有詳細(xì)截圖和代碼說(shuō)明,能夠幫助讀者從“使用”開(kāi)始,保證較好的學(xué)習(xí)效果。
本書(shū)配套的PPT也顯示在對(duì)應(yīng)的章節(jié),這樣的設(shè)計(jì)能夠幫助讀者快速了解每個(gè)章節(jié)的主要內(nèi)容,起到提綱挈領(lǐng)的作用,也能夠幫助讀者建立一個(gè)完整的知識(shí)結(jié)構(gòu),而不僅僅是掌握了一些凌亂的知識(shí)點(diǎn)。另外,這樣的設(shè)計(jì)也使得本書(shū)非常適合作為高校中JavaEE主流框架相關(guān)課程的教材,能夠方便教師授課,保證授課思路及內(nèi)容與教材完全匹配、完全同步,從而達(dá)到較好的教學(xué)效果。另外,附錄部分提供了企業(yè)關(guān)注的技能點(diǎn),并從企業(yè)的角度給予了解析,能夠幫助讀者進(jìn)一步整理書(shū)中內(nèi)容,掌握企業(yè)需要的技能。
本書(shū)所有配套講義、源代碼及視頻均可到華信教育資源網(wǎng)(www.hxedu.com.cn)免費(fèi)下載。
“中軟國(guó)際卓越人才培養(yǎng)系列叢書(shū)”由中軟國(guó)際唐振明擔(dān)任叢書(shū)主編。本書(shū)由王曉華、修雅慧、徐志立、李沁蓉、萬(wàn)安琪、高飛、程濤等編寫(xiě),由王曉華統(tǒng)編和定稿。
在編寫(xiě)本書(shū)的過(guò)程中,得到了很多領(lǐng)導(dǎo)、同事以及朋友的幫助。感謝中軟國(guó)際的所有領(lǐng)導(dǎo)以及CTO辦公室的所有同事,是他們的幫助、鼓勵(lì)以及支持才有這本書(shū)的問(wèn)世。感謝電子工業(yè)出版社的編輯們,如果沒(méi)有他們的辛苦工作以及真誠(chéng)建議,這本書(shū)的出版將不會(huì)這么順利。
由于編者水平有限,也由于時(shí)間倉(cāng)促,書(shū)中一定存在一些不盡如人意的地方,甚至?xí)幸恍╁e(cuò)誤。如果您發(fā)現(xiàn)了任何內(nèi)容方面的問(wèn)題,煩請(qǐng)一定通知我們(wangxh@chinasofti.com),我們將爭(zhēng)取盡快勘誤。
編者