本書在全面介紹Struts2、Hibernate和Spring等基本知識的基礎(chǔ)上,重點介紹基于框架的項目案例構(gòu)建方法及基于UML的系統(tǒng)設(shè)計。全書通過相關(guān)的知識點,對相應(yīng)框架的技術(shù)架構(gòu)、下載安裝及如何配置使用進(jìn)行了講解,同時按照框架的相應(yīng)章節(jié)設(shè)置了相應(yīng)的項目案例,利用例子講解相關(guān)的配置。 本書可分4篇: 第1篇(第1~6章)為Struts2框架的相關(guān)介紹,主要包括Struts2的下載安裝、基礎(chǔ)配置文件、攔截器、轉(zhuǎn)換器以及校驗器的講解以及標(biāo)簽、國際化、上傳下載的應(yīng)用。第2篇(第7~11章)為Hibernate框架部分,主要包括Hibernate的配置、映射關(guān)系、單實體CRUD操作以及HQL的用法。第3篇(第12章和第13章)為Spring框架,主要包括Spring的IOC、AOP、聲明式事務(wù)以及SSH整合等內(nèi)容。第4篇(第14章)通過項目將SSH框架整合在一起,主要包括具體操作.
本書先進(jìn)行理論講解,讓讀者了解Struts2、Hibernate、Spring等框架的實現(xiàn)思想。然后進(jìn)行操作講解,通過實際項目中的例子,讓讀者掌握如何進(jìn)行操作。
本書時效性強(qiáng)。本書選取的3個框架的版本都是現(xiàn)今剛更新的版本,對于Spring、Hibernate等框架的講解從注解和配置文件兩個方面都進(jìn)行了對比講解。
本書圖文并茂,增加教材的可讀性。根據(jù)實際開發(fā)經(jīng)驗,列舉了項目中的關(guān)鍵代碼,輔以運(yùn)行后的截圖或者軟件安裝調(diào)試的圖片,讓讀者更容易理解。
本書框架整合部分,針對框架整合的復(fù)雜性,分步列舉了整合的步驟。讀者可以根據(jù)書中列舉的操作步驟進(jìn)行整合。
本書提供了項目運(yùn)行代碼、框架的jar包以及SSH整合的項目案例,滿足教師多媒體教學(xué)的需要。
隨著Java技術(shù)的不斷發(fā)展,如今Java已經(jīng)成為開發(fā)B/S系統(tǒng)的一門主流語言。Java語言的跨平臺特點,讓它成為了一門可以實現(xiàn)“一次開發(fā),處處運(yùn)行”的編程語言。開發(fā)速度成為制約Java發(fā)展的一個瓶頸。SSH框架技術(shù)的出現(xiàn)很好地解決了這一難題,使用SSH框架開發(fā)J2EE程序,可以很好地提高開發(fā)的速度,提升網(wǎng)站的健壯程度。
全書從Struts2、Hibernate、Spring 3個框架入手,選取官網(wǎng)中最新的版本作為講解的版本,保證了框架的實時性和通用性。本書可分4篇: 第1篇(第1~6章),介紹Struts2框架的基礎(chǔ)、攔截器、類型轉(zhuǎn)換器、校驗器、OGNL表達(dá)式、Struts2標(biāo)簽以及國際化、上傳下載等;第2篇(第7~11章),介紹Hibernate框架的ORM模型、HQL語句等,并且結(jié)合Struts2和Hibernate整合了一個項目案例;第3篇(第12章和第13章),介紹了Spring框架IOC模型、AOP模型、聲明式事務(wù)等;第4篇(第14章)通過項目將SSH框架整合在一起,主要側(cè)重整合過程和具體操作。
第1章Struts2簡介——本章作為Struts2的入門知識,講解HelloWorld的小例子,講解Struts.xml配置文件中參數(shù)的含義。
第2章Struts2 基礎(chǔ)部分——本章著重介紹參數(shù)傳遞、核心控制器的使用、多種result視圖的配置和應(yīng)用。
第3章攔截器、轉(zhuǎn)換器與校驗器——本章主要介紹攔截器的配置和使用,轉(zhuǎn)換器的具體用法和校驗器在實際開發(fā)中的應(yīng)用。
第4章OGNL與Struts2標(biāo)簽庫——本章主要介紹OGNL表達(dá)式和幾種常見的Struts2標(biāo)簽庫,如UI標(biāo)簽、控制標(biāo)簽等。
第5章國際化與上傳下載——本章首先介紹國際化的具體配置,然后介紹利用Struts2自帶攔截器進(jìn)行上傳下載的配置。
第6章Struts2實訓(xùn)項目——本章介紹通過權(quán)限控制系統(tǒng),以項目實戰(zhàn)方式介紹Struts2的具體應(yīng)用。
第7章Hibernate準(zhǔn)備工作——本章介紹MySQL 5.0的安裝過程以及Hibernate的簡單操作。
第8章Hibernate基礎(chǔ)操作——簡單介紹Hibernate的配置文件、單實體的CRUD操作等。
第9章Hibernate多種關(guān)聯(lián)關(guān)系——介紹Hibernate多種對象間的映射關(guān)系。
第10章HQL語句——主要介紹HQL語句、分頁查詢、條件查詢等。
第11章Struts2+Hibernate實訓(xùn)項目——本章介紹基于Web投稿及稿件處理系統(tǒng),通過該項目著重介紹Struts2和Hibernate的整合應(yīng)用。
第12章Spring準(zhǔn)備工作——本章介紹Spring框架的配置、Spring的IOC操作。
第13章Spring AOP——本章主要介紹Spring的AOP控制以及聲明式事務(wù)的操作。
第14章SSH——牛牛面粉廠實訓(xùn)項目——本章主要介紹SSH整合項目——面粉廠的一個進(jìn)銷存系統(tǒng),通過該系統(tǒng)了解SSH整合的步驟、對象間的關(guān)聯(lián)、事務(wù)的配置等。
本教材適用面廣,既可以用于本科、專科的J2EE的教學(xué),也可供Java編程愛好者學(xué)習(xí)參考。
本書獲山東省科技發(fā)展計劃項目——新型智能控制器的研究與應(yīng)用開發(fā)(2014GGX101036)資助。
編者2015年10月目錄
第1篇Struts2框架第1章Struts2簡介3
1.1Struts2框架結(jié)構(gòu)3
1.2Struts2的下載和安裝4
1.3搭建HelloWorld程序5
1.3.1建立Web應(yīng)用5
1.3.2增加Struts2的支持6
1.3.3配置struts.xml以及對JSP文件進(jìn)行測試6第2章Struts2基礎(chǔ)部分8
2.1Struts2參數(shù)的傳遞8
2.1.1直接傳遞法8
2.1.2封裝對象傳遞法11
2.2Struts2核心控制action的各種配置14
2.2.1action的基礎(chǔ)配置14
2.2.2使用defaultactionref配置統(tǒng)一訪問14
2.3掌握action動態(tài)方法調(diào)用15
2.4了解result幾種放回結(jié)果類型的區(qū)別16第3章攔截器、轉(zhuǎn)換器與校驗器20
3.1攔截器的基本原理20
3.2Struts2(XWork)提供的攔截器20
3.3自定義攔截器22
3.3.1建立攔截器的實現(xiàn)類22
3.3.2在struts.xml中注冊自定義的攔截器23
3.3.3在Action中引用攔截器23
3.3.4攔截器執(zhí)行效果23
3.4攔截器攔截指定方法24
3.4.1使攔截器繼承自MethodFilterInteceptor24
3.4.2在action中配置相應(yīng)的攔截器24
3.5攔截器有關(guān)的案例——權(quán)限控制25
3.6轉(zhuǎn)換器與校驗器27
3.6.1轉(zhuǎn)換器27
3.6.2校驗器29第4章OGNL與Struts2標(biāo)簽庫35
4.1Struts2值棧35
4.2OGNL表達(dá)式36
4.2.1OGNL普通方法訪問36
4.2.2OGNL靜態(tài)方法訪問36
4.2.3OGNL默認(rèn)類Math的訪問37
4.2.4OGNL調(diào)用普通類的構(gòu)造方法37
4.2.5OGNL集合對象37
4.2.6OGNL中top用法38
4.3標(biāo)簽庫39
4.3.1Struts2的表單標(biāo)簽39
4.3.2Struts2的控制標(biāo)簽46第5章國際化與上傳下載50
5.1國際化50
5.2文件的上傳下載55第6章Struts2實訓(xùn)項目59
6.1需求分析59
6.2數(shù)據(jù)庫設(shè)計60
6.2.1邏輯關(guān)系圖60
6.2.2表匯總60
6.2.3數(shù)據(jù)庫說明61
6.3概要設(shè)計62
6.3.1目錄結(jié)構(gòu)62
6.3.2數(shù)據(jù)庫操作封裝63
6.4界面設(shè)計63第2篇Hibernate框架
第7章Hibernate準(zhǔn)備工作69
7.1MySQL的下載安裝69
7.1.1安裝MySQL69
7.1.2配置MySQL71
7.1.3驗證MySQL的安裝75
7.2NavicatforMySQL管理工具75
7.2.1連接遠(yuǎn)程數(shù)據(jù)庫75
7.2.2管理本地數(shù)據(jù)庫76
7.3Hibernate框架介紹78
7.4第一個Hibernate小程序80
7.4.1構(gòu)建Hibernate工程80
7.4.2導(dǎo)入Hibernate相關(guān)jar包81
7.4.3構(gòu)建Hibernate工程81
7.4.4更改工程為注解版84第8章Hibernate基礎(chǔ)操作86
8.1Hibernate.cfg.xml配置參數(shù)86
8.2Hibernate映射文件配置參數(shù)88
8.3單實體的增刪改查操作89
8.3.1增加操作89
8.3.2查詢操作(根據(jù)ID查詢)90
8.3.3刪除操作90
8.3.4修改操作90
8.4對象狀態(tài)的變化91第9章Hibernate中的多種關(guān)聯(lián)關(guān)系93
9.1多對一關(guān)系映射93
9.2一對一關(guān)系映射96
9.3多對多關(guān)系映射99
9.4懶加載機(jī)制102第10章HQL語句104
10.1簡單屬性查詢104
10.2查詢實體對象104
10.3條件查詢105
10.4NativeSQL105
10.5外置NativeSQL命名查詢106
10.6外置命名查詢106
10.7外置HQL命名查詢107
10.8查詢過濾器107
10.9分頁查詢107
10.10對象導(dǎo)航107
10.11連接查詢108
10.12統(tǒng)計查詢108
10.13分組查詢109
10.14DML109第11章Struts2 Hibernate實訓(xùn)項目110
11.1需求分析110
11.1.1系統(tǒng)描述110
11.1.2系統(tǒng)功能設(shè)計111
11.1.3系統(tǒng)模塊劃分113
11.2數(shù)據(jù)庫設(shè)計114
11.2.1數(shù)據(jù)庫關(guān)系圖114
11.2.2表匯總114
11.2.3數(shù)據(jù)庫說明115
11.2.4界面設(shè)計119
第3篇Spring框架
第12章Spring準(zhǔn)備工作127
12.1Spring框架介紹127
12.2建立Spring工程128
12.3SpringIoC133
12.3.1XML文件方式134
12.3.2注解形式方式140第13章SpringAOP144
13.1AOP相關(guān)的概念144
13.1.1AOP實現(xiàn)原理144
13.1.2AOP中相關(guān)概念144
13.1.3通知類型145
13.2AOP的兩種配置方式146
13.2.1XML方式配置AOP146
13.2.2注解方式配置AOP148
13.3聲明式事務(wù)151
第4篇綜合實訓(xùn)
第14章SSH——牛牛面粉廠實訓(xùn)項目155
14.1需求分析155
14.1.1項目背景155
14.1.2功能分析156
14.2數(shù)據(jù)庫設(shè)計157
14.3界面設(shè)計165
14.4SSH框架整合步驟168
第1章Linux及嵌入式開發(fā)系統(tǒng)組成簡介1
1.1Linux起源及發(fā)展1
1.1.1UNIX和GNU軟件1
1.1.2Linux的發(fā)展2
1.2內(nèi)核、shell、文件系統(tǒng)及實用程序3
1.2.1Linux內(nèi)核3
1.2.2shell簡介3
1.2.3文件系統(tǒng)7
1.2.4實用程序7
1.3選擇Linux的理由8
1.3.1Linux是成熟的、廣泛使用的操作系統(tǒng)8
1.3.2開源軟件帶來的優(yōu)點8
1.3.3免費軟件帶來的優(yōu)點8
1.3.4Linux得到了眾多軟、硬件廠商的支持9
1.3.5使用Linux的不足之處9
1.4Linux環(huán)境嵌入式開發(fā)系統(tǒng)組成簡介9
1.4.1Linux環(huán)境嵌入式開發(fā)系統(tǒng)組成9
1.4.2主機(jī)(Host)9
1.4.3目標(biāo)板(Target)10
1.4.4主機(jī)與目標(biāo)板的連接10
1.4.5主機(jī)中運(yùn)行的程序10
1.4.6目標(biāo)板中運(yùn)行的程序11
1.4.7開發(fā)系統(tǒng)附帶的光盤文檔12
1.5主機(jī)安裝的Linux發(fā)行版12
1.5.1常用的Linux發(fā)行版13
1.5.2Linux發(fā)行版在主機(jī)的安裝方式13
1.6本章小結(jié)15
1.7習(xí)題、操作與實驗15第2章主機(jī)及目標(biāo)板的運(yùn)行16
2.1終端基礎(chǔ)知識16
2.1.1tty16
2.1.2早期的終端及終端與主機(jī)的連接16
2.1.3XWindow、GNOME及KDE簡介17
2.2主機(jī)系統(tǒng)引導(dǎo)、登錄及退出Linux19
2.2.1系統(tǒng)引導(dǎo)19
2.2.2登錄Linux19
2.2.3Linux的終端20
2.2.4查看及修改用戶使用的shell23
2.2.5通過退出與shell的會話退出Linux25
2.2.6關(guān)閉運(yùn)行的Linux系統(tǒng)25
2.2.7使用幫助命令help和man26
2.3目標(biāo)板初次運(yùn)行28
2.3.1目標(biāo)板連接的電源、端口及安裝的操作系統(tǒng)28
2.3.2目標(biāo)板引導(dǎo)過程簡述29
2.3.3主機(jī)Windows下的超級終端31
2.3.4主機(jī)Linux下的mini仿真終端33
2.3.5裝載引導(dǎo)程序支持的命令簡介36
2.3.6目標(biāo)板Linux登錄、退出討論38
2.3.7目標(biāo)板Linux基礎(chǔ)39
2.4本章小結(jié)42
2.5習(xí)題、操作與實驗42第3章主機(jī)開發(fā)環(huán)境配置44
3.1交叉開發(fā)平臺基礎(chǔ)44
3.1.1本地開發(fā)及交叉開發(fā)44
3.1.2GNU跨平臺工具鏈組成45
3.1.3如何獲取工具鏈45
3.1.4工具鏈的組件及GDB簡介46
3.2交叉工具鏈安裝舉例47
3.2.1交叉工具鏈及實驗例程安裝位置47
3.2.2對查找工具鏈的路徑變量進(jìn)行修改48
3.3主機(jī)Linux環(huán)境網(wǎng)絡(luò)配置舉例48
3.3.1主機(jī)Linux環(huán)境IP地址設(shè)置48
3.3.2主機(jī)Linux環(huán)境網(wǎng)絡(luò)防火墻設(shè)置52
3.3.3主機(jī)與目標(biāo)板網(wǎng)絡(luò)通信測試52
3.3.4主機(jī)Linux環(huán)境NFS設(shè)置54
3.4輸入、編譯、運(yùn)行一個程序全過程舉例57
3.5本章小結(jié)59
3.6習(xí)題、操作與實驗59第4章實驗例程及驅(qū)動程序分析(一)61
4.1讀取、轉(zhuǎn)換時間函數(shù)編程舉例61
4.1.1Linux查看、設(shè)置時間的命令61
4.1.2常用的讀取、轉(zhuǎn)換時間的函數(shù)62
4.1.3讀取、轉(zhuǎn)換時間的函數(shù)編程舉例63
4.1.4例4.1對應(yīng)的Makefile文件65
4.2多線程編程舉例65
4.2.1Linux線程概述65
4.2.2線程、互斥量、條件變量函數(shù)66
4.2.3生產(chǎn)者、消費者編程舉例68
4.3串行端口及標(biāo)準(zhǔn)輸入/輸出/錯誤編程舉例73
4.3.1串行通信基礎(chǔ)73
4.3.2Linux標(biāo)準(zhǔn)輸入/輸出/錯誤系統(tǒng)調(diào)用編程舉例77
4.3.3Linux串行端口編程舉例80
4.3.4C語言標(biāo)準(zhǔn)輸入/輸出/錯誤函數(shù)編程舉例83
4.4ADC應(yīng)用程序編程舉例85
4.4.1ADC編程基礎(chǔ)85
4.4.2ADC應(yīng)用程序編程舉例87
4.5ADC驅(qū)動程序源代碼分析91
4.5.1概述91
4.5.2Linux設(shè)備驅(qū)動程序概述92
4.5.3s3c2410adc.h頭文件源代碼分析96
4.5.4s3c2410.hchip.H頭文件源代碼分析96
4.5.5s3c2410adc.c設(shè)備驅(qū)動程序源代碼分析98
4.6本章小結(jié)104
4.7習(xí)題、操作、編程與實驗105第5章Linux環(huán)境下目標(biāo)板出廠軟件燒寫實驗107
5.1目標(biāo)板出廠軟件燒寫概述107
5.1.1目標(biāo)板出廠軟件107
5.1.2Linux環(huán)境要燒寫的文件107
5.1.3什么情況下燒寫目標(biāo)板出廠軟件108
5.1.4燒寫環(huán)境108
5.2目標(biāo)板出廠軟件燒寫實驗(一)108
5.2.1主機(jī)Windows下安裝JTAG驅(qū)動程序109
5.2.2通過JTAG端口傳送并燒寫裝載引導(dǎo)程序vivi109
5.2.3通過串口傳送并燒寫內(nèi)核zImage110
5.2.4通過串口傳送并燒寫根文件系統(tǒng)root.cramfs112
5.2.5通過網(wǎng)口傳送并燒寫應(yīng)用程序yaffs.tar.bz2112
5.2.6格式化閃存以及通過串口傳送并燒寫vivi116
5.3目標(biāo)板出廠軟件燒寫實驗(二)117
5.3.1通過網(wǎng)口傳送并燒寫內(nèi)核zImage117
5.3.2通過網(wǎng)口傳送并燒寫根文件系統(tǒng)root.cramfs120
5.4目標(biāo)板出廠軟件燒寫實驗(三)121
5.4.1通過JTAG端口傳送并燒寫裝載引導(dǎo)程序uboot121
5.4.2通過網(wǎng)口傳送并燒寫內(nèi)核uImage123
5.4.3通過網(wǎng)口傳送并燒寫根文件系統(tǒng)root.cramfs125
5.4.4通過網(wǎng)口傳送并燒寫應(yīng)用程序yaffs.tar.bz2126
5.5uboot裝載引導(dǎo)程序支持的命令126
5.5.1uboot支持的命令集126
5.5.2查詢uboot命令的參數(shù)含義128
5.6本章小結(jié)128
5.7習(xí)題、操作與實驗129第6章實驗例程及驅(qū)動程序分析(二)131
6.1DAC應(yīng)用程序編程舉例及驅(qū)動程序分析131
6.1.1DAC硬件基礎(chǔ)131
6.1.2DAC應(yīng)用程序編程舉例133
6.1.3DAC驅(qū)動程序主要代碼分析135
6.2PWM直流電機(jī)應(yīng)用程序編程舉例及驅(qū)動程序分析138
6.2.1PWM定時器基礎(chǔ)138
6.2.2PWM直流電機(jī)143
6.2.3編譯、加載驅(qū)動程序模塊145
6.2.4PWM直流電機(jī)應(yīng)用程序編程舉例146
6.2.5PWM直流電機(jī)驅(qū)動程序主要代碼分析148
6.3LED應(yīng)用程序編程舉例及驅(qū)動程序分析149
6.3.1七段LED概述149
6.3.28×8點陣LED顯示概述152
6.3.3CPLD與七段LED、8×8點陣LED連接舉例154
6.3.4七段LED、8×8點陣LED應(yīng)用程序編程舉例156
6.3.5LED驅(qū)動程序主要代碼分析158
6.4本章小結(jié)160
6.5習(xí)題、操作、實驗及編程161附錄A英漢名詞術(shù)語對照匯總表162參考文獻(xiàn)166