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