SSH開發(fā)實戰(zhàn)教程(Spring+Struts 2+Hibernate)
定 價:65 元
- 作者:李西明 陳立為
- 出版時間:2021/6/1
- ISBN:9787115529725
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁碼:300
- 紙張:
- 版次:01
- 開本:16開
本書詳細講解了當前JavaEE開發(fā)流行的SSH框架,涵蓋Hibernate、Struts2、Spring三大塊知識,以及它們之間的整合和實戰(zhàn)項目案例。
全書共18章,第1-4章是Hibernate部分,第5-11章為struts2部分,第12-16章為Spring框架部分,第17章為SSH三大框架整合,介紹了整合原理,整合流程,第18章為實戰(zhàn)項目。
Java EE的輕量級開發(fā)主要有兩種框架組合方式SSH與SSM。SSH框架簡單,當前的互聯(lián)網(wǎng)開發(fā)采用SSH框架較多,因此要學習Java EE,SSH框架是必學的技術(shù)。
本書的配套資源豐富,提供下載。
華南農(nóng)業(yè)大學數(shù)學與信息學院計算機系計算機網(wǎng)絡(luò)教研室高級工程師。主講《Java程序設(shè)計》《信息安全數(shù)學基礎(chǔ)》等本科及研究生課程。 主持、參與十余項國家、省部級項目。
第 1章 Hibernate入門 1
1.1 SSH概述 1
1.2 Hibernate簡介 1
1.3 第 一個Hibernate項目 3
1.3.1 創(chuàng)建項目并導(dǎo)入JAR包 4
1.3.2 創(chuàng)建數(shù)據(jù)庫及表 4
1.3.3 創(chuàng)建持久化類 4
1.3.4 創(chuàng)建映射文件 5
1.3.5 創(chuàng)建核心配置文件 6
1.3.6 創(chuàng)建測試類進行增刪改查操作 6
1.4 映射文件詳解 10
1.5 配置文件詳解 12
1.5.1 基本配置 12
1.5.2 配置c3p0連接池 12
1.6 Hibernate持久化對象的狀態(tài) 13
1.6.1 持久化對象的狀態(tài) 13
1.6.2 持久化對象狀態(tài)轉(zhuǎn)換 13
1.7 Hibernate的核心接口簡介 15
1.7.1 Configuration接口 15
1.7.2 SessionFactory接口 15
1.7.3 Session接口 16
1.7.4 Transaction接口 18
上機練習 18
思考題 19
第 2章 HQL與Criteria查詢 20
2.1 HQL查詢概述 20
2.1.1 HQL基本語法 20
2.1.2 HQL語句的執(zhí)行 21
2.1.3 HQL查詢條件中使用參數(shù) 22
2.1.4 HQL給參數(shù)賦值的其他方法 24
2.1.5 HQL模糊查詢與動態(tài)查詢 26
2.1.6 HQL投影查詢 27
2.1.7 HQL分頁查詢 28
2.1.8 HQL聚合函數(shù) 29
2.1.9 HQL分組查詢 30
2.1.10 使用別名 30
2.2 Criteria查詢 31
2.2.1 Criteria簡單查詢 31
2.2.2 Criteria多條件查詢 32
2.2.3 Criteria分頁查詢 33
上機練習 34
思考題 34
第3章 Hibernate關(guān)聯(lián)映射 35
3.1 實體對象的三種關(guān)聯(lián)關(guān)系 35
3.1.1 單向關(guān)聯(lián)與雙向關(guān)聯(lián) 35
3.1.2 一對多關(guān)聯(lián)映射 35
3.1.3 多對多關(guān)聯(lián)關(guān)系映射 40
3.2 關(guān)聯(lián)關(guān)系中的反轉(zhuǎn)與級聯(lián) 44
3.2.1 反轉(zhuǎn)操作 44
3.2.2 級聯(lián)操作 45
3.3 延遲加載 50
3.3.1 類級別的查詢策略 51
3.3.2 一對多及多對多的查詢策略 53
3.3.3 多對一關(guān)聯(lián)的查詢策略 55
上機練習 56
思考題 56
第4章 HQL連接查詢與緩存 57
4.1 HQL連接查詢 57
4.1.1 內(nèi)連接 57
4.1.2 隱式內(nèi)連接 59
4.1.3 外連接 60
4.2 HQL子查詢 62
4.3 HQL操作集合的函數(shù)或?qū)傩浴?3
4.4 一級緩存 65
4.4.1 一級緩存的原理 65
4.4.2 Hibernate快照 67
4.4.3一級緩存的常用操作 68
4.5 二級緩存 70
4.5.1 二級緩存的原理 71
4.5.2 二級緩存的配置和使用 71
上機練習 73
思考題 73
第5章 Struts 2入門 74
5.1 Struts2簡介 74
5.1.1 MVC設(shè)計模式 74
5.1.2 Struts2的優(yōu)點 75
5.1.3 Struts2的開發(fā)環(huán)境搭建 75
5.2 第 一個Struts2項目 77
5.3 Struts2實現(xiàn)登錄 80
5.4 Struts2的執(zhí)行流程 82
上機練習 83
思考題 83
第6章 Struts2配置文件 84
6.1 配置文件簡介 84
6.1.1 認識struts.xml文件結(jié)構(gòu) 84
6.1.2 配置常量 85
6.1.3 include的配置 86
6.2 配置Action 86
6.2.1 創(chuàng)建Action類 86
6.2.2 配置Action類 87
6.2.3 Action訪問Servlet API對象 88
6.2.4 動態(tài)方法調(diào)用 94
6.2.5 使用通配符簡化配置 97
6.2.6 配置默認的Action 99
6.4 Action獲取請求參數(shù) 99
6.4.1 屬性驅(qū)動 99
6.4.2 模型驅(qū)動 103
6.5 Result的配置 104
6.5.1 Result元素結(jié)構(gòu) 104
6.5.2 常用結(jié)果類型 104
6.5.3 動態(tài)結(jié)果 105
6.5.4 全局結(jié)果 107
6.6 各種配置項的順序 107
上機練習 108
思考題 108
第7章 Struts2攔截器 109
7.1 攔截器原理 109
7.1.1 攔截器基本知識 109
7.1.2 攔截器的工作方式 109
7.2 攔截器的配置 110
7.2.1配置攔截器 110
7.2.2 攔截器的返回值 112
7.3 攔截器的種類 112
7.4 自定義攔截器 112
7.4.1 自定義攔截器的實現(xiàn) 112
7.4.2 權(quán)限攔截器 113
上機練習 116
思考題 116
第8章 Struts2標簽庫 117
8.1 Struts2標簽庫簡介 117
8.1.1 Struts2標簽庫的分類 117
8.1.2 Struts2標簽庫的導(dǎo)入 117
8.2 Struts2控制標簽 118
8.2.1 標簽 118
8.2.2 標簽 118
8.3 Struts2數(shù)據(jù)標簽 121
8.3.1 標簽 121
8.3.2 日期標簽 121
8.4 Struts2的主題 122
8.5 Struts2的表單標簽 122
8.5.1 和標簽 123
8.5.2 和標簽 123
8.5.3 標簽 123
8.5.4 標簽 123
8.5.5 標簽 125
8.5.6 標簽 126
8.5.7 標簽 127
8.5.8 標簽 127
8.5.9 標簽 128
8.5.10 標簽 129
8.5.11 標簽 129
8.5.12 標簽數(shù)據(jù)來自后臺 130
8.6 Struts2的非表單標簽的 132
上機練習 133
思考題 133
第9章 OGNL表達式與值棧 134
9.1 OGNL表達式 134
9.1.1 OGNL的概念 134
9.1.2 使用OGNL訪問對象方法 138
9.1.3 OGNL訪問集合對象 140
9.1.4 訪問ActionContext中的數(shù)據(jù) 142
9.2 值!143
9.2.1 值棧的概念 143
9.2.2 值棧的應(yīng)用 143
上機練習 143
思考題 143
第 10章 Struts2關(guān)鍵技術(shù) 144
10.1 數(shù)據(jù)類型轉(zhuǎn)換 144
10.1.1 默認類型轉(zhuǎn)換 144
10.1.2 自定義類型轉(zhuǎn)換器 146
10.1.3 多種日期格式的轉(zhuǎn)換 149
10.1.4 保存原來的日期格式 150
10.1.5 類型轉(zhuǎn)換異常提示信息改為中文 151
10.2 數(shù)據(jù)驗證 152
10.2.1 使用validate方法驗證Action中的所有方法 152
10.2.2 對Action中指定方法執(zhí)行前的驗證 154
10.2.3 Struts2驗證框架 157
10.3 文件上傳 162
10.3.1 文件上傳概述 162
10.3.2 單個文件上傳實例 163
10.3.3 限制文件的大小和類型 166
10.3.4 多文件上傳 168
10.4 文件下載 170
10.4.1 文件下載的概述 170
10.4.2 文件下載案例 171
10.4.3 文件名為中文的下載 172
上機練習 173
思考題 173
第 11章 Struts2與Ajax 174
11.1 使用Stream類型的結(jié)果映射 174
11.2 使用JSON類型的結(jié)果映射 176
11.3 Ajax綜合案例 179
上機練習 182
第 12章 Spring入門 183
12.1 Spring概述 183
12.1.1 Spring體系結(jié)構(gòu) 183
12.1.2 Spring 的開發(fā)環(huán)境 184
12.2 第 一個Spring 程序 185
上機練習 188
思考題 188
第 13章 Spring控制反轉(zhuǎn) 189
13.1 依賴注入 189
13.2 Spring配置文件中Bean的配置 192
13.3 Bean的作用域 192
13.4 基于xml的依賴注入 194
13.4.1 設(shè)值注入 194
13.4.2 構(gòu)造注入 196
13.4.3 使用p命名空間實現(xiàn)屬性值注入 197
13.4.4 注入各種數(shù)據(jù)類型的屬性值 197
13.4.5 內(nèi)部Bean注入 202
13.4.5 抽象Bean 注入 203
13.5 自動裝配 205
13.5.1 byName 方式自動注入 205
13.5.2 byType 方式自動注入 206
13.6 Spring配置文件的拆分 207
13.6.1 拆分為若干個平等關(guān)系的配置文件 208
13.6.2 拆分為父子關(guān)系的若干個配置文件 208
13.7 基于注解的依賴注入 208
13.7.1 使用注解@Component定義Bean 209
13.7.2 Bean的作用域@Scope 210
13.7.3 基本類型屬性注入@Value 210
13.7.4 按類型注入域?qū)傩訞Autowired 211
13.7.5 按名稱注入域?qū)傩訞Autowired 與@Qualifier 212
13.7.6 域?qū)傩宰⒔釦Resource 213
13.7.7 xml配置方式與注解方式的比較 214
上機練習 215
思考題 215
第 14章 Spring面向切面編程 216
14.1 傳統(tǒng)的編程模式弊端 216
14.2 AOP初試身手 219
14.3 AspectJ實現(xiàn)AOP 222
14.3.1 異常拋出增強 223
14.3.2 環(huán)繞增強 224
14.4 使用注解實現(xiàn)通知 226
14.5 使用xml配置定義切面 227
14.5.1 切面不獲取切點參數(shù) 228
14.5.2 切面獲取切點參數(shù)與返回值 229
上機練習 232
思考題 232
第 15章 Spring操作數(shù)據(jù)庫 233
15.1 使用JdbcTemplate模板操作數(shù)據(jù)庫 233
15.2 數(shù)據(jù)源的配置 239
15.2.1 DBCP數(shù)據(jù)源BasicDataSource的使用 239
15.2.2 C3P0數(shù)據(jù)源ComboPooledDataSource的使用 240
15.2.3 使用屬性文件讀取數(shù)據(jù)庫連接信息 241
上機練習 243
思考題 243
第 16章 Spring事務(wù)管理 244
16.1 Spring 事務(wù)管理接口 244
16.1.1 事務(wù)管理器接口PlatformTransactionManager 244
16.1.2 事務(wù)定義接口TransactionDefinition 244
16.2 Spring事務(wù)管理的實現(xiàn) 245
16.2.1 沒有事務(wù)管理的情況分析 245
16.2.2 利用xml配置實現(xiàn)事務(wù)管理 248
16.2.3 利用@Transactional注解實現(xiàn)事務(wù)管理 251
16.2.4 在業(yè)務(wù)層實現(xiàn)事務(wù)管理 253
上機練習 255
思考題 255
第 17章 SSH三大框架整合 256
17.1 SSH框架整合原理 256
17.2 Spring整合Hibernate 256
17.3 Spring整合Struts2 265
上機練習 269
思考題 269
第 18章 SSH項目實戰(zhàn) 270
18.1 項目需求分析 270
18.2 數(shù)據(jù)庫設(shè)計 270
18.3 搭建SSH框架 272
18.4 首頁與用戶登錄模塊 275
18.5 商品查詢與分頁模塊 288
18.6 商品詳情模塊 298
18.7 購物車模塊 304
18.8 訂單處理與模擬結(jié)算模塊 315
上機練習 325
思考題 325