第1章 Spring框架簡介與IoC容器 1
1.1 Spring簡介 1
1.1.1 Spring歷史 1
1.1.2 Spring項目簡介 2
1.1.3 Spring Framework安裝 4
1.2 IoC容器 7
1.2.1 IoC容器和依賴倒置原則 7
1.2.2 依賴注入類型 12
1.3 Spring IoC容器 13
1.3.1 BeanFactory容器 13
1.3.2 ApplicationContext容器 14
1.3.3 使用Spring IoC容器 14
第2章 Spring AOP 26
2.1 AOP基礎 26
2.1.1 AOP概述 26
2.1.2 AOP常用術語 27
2.1.3 動態代理 28
2.2 通知和切面 32
2.2.1 通知 32
2.2.2 切面 34
第3章 Spring注解 37
3.1 使用注解配置IoC 37
3.1.1 使用注解定義Bean 37
3.1.2 使用注解配置信息文件 39
3.1.3 使用注解實現依賴注入 40
3.2 使用AspectJ配置AOP 41
3.2.1 使用前準備 41
3.2.2 配置AOP 41
3.2.3 AspectJ基礎 42
3.2.4 AspectJ注解類 44
3.3 使用Spring表達式語言 47
3.3.1 簡介 47
3.3.2 基本用法 48
第4章 Spring安全機制 51
4.1 Spring Security基礎 51
4.1.1 簡介 51
4.1.2 歷史 52
4.1.3 安裝 52
4.2 Spring Security授權Web請求 53
4.2.1 授權Web請求基礎 53
4.2.2 進階一:自定義登錄首頁及
用戶角色 56
4.2.3 進階二:自定義用戶權限 59
第5章 Struts 2基礎 69
5.1 了解Struts 2 69
5.1.1 Struts 2發展史 69
5.1.2 什么是Struts 2 70
5.2 Struts 2體系結構 72
5.2.1 Struts 2請求流程 72
5.2.2 Struts 2框架結構 73
5.2.3 Struts 2組成介紹 74
5.3 Struts 2項目資源 74
5.3.1 Struts 2相關資源下載 74
5.3.2 Struts 2項目的目錄結構 75
5.4 如何學習Struts 2 76
5.5 Struts 2項目開發 76
5.5.1 簡單示例 76
5.5.2 代碼流程 78
第6章 Struts 2核心 79
6.1 Struts 2配置聲明 79
6.1.1 配置聲明方式 79
6.1.2 配置文件概述 80
6.1.3 struts.xml配置文件 81
6.1.4 包和命名空間 83
6.1.5 配置Action 86
6.2 實現Action 89
6.2.1 POJO實現Action 89
6.2.2 繼承ActionSupport 91
6.2.3 動態方法調用 93
6.2.4 指定method屬性及使用通配符 96
6.3 配置處理結果 103
6.3.1 理解處理結果 103
6.3.2 配置結果 104
6.3.3 Struts 2支持的結果類型 105
6.3.4 plainText結果類型 107
6.3.5 動態結果 109
6.3.6 Action屬性值決定視圖資源 110
6.3.7 全局結果 114
6.4 攔截器 115
6.4.1 Struts 2內建的攔截器 115
6.4.2 配置攔截器 118
6.4.3 自定義攔截器 120
第7章 Struts 2標簽庫 123
7.1 Struts 2標簽庫簡介 123
7.2 OGNL 123
7.2.1 OGNL簡介 123
7.2.2 OGNL三要素 124
7.2.3 ValueStack 對象 125
7.2.4 使用OGNL訪問數據 126
7.2.5 使用OGNL設置數據 127
7.2.6 上下文環境以及方法調用 127
7.2.7 使用OGNL操作集合 129
7.2.8 使用OGNL過濾集合與
投影集合 132
7.2.9 OGNL在Struts 2框架中的
作用 134
7.2.10 在Struts 2項目中使用OGNL 136
7.3 通用標簽 139
7.3.1 流程控制標簽 139
7.3.2 條件標簽 139
7.3.3 組合標簽 140
7.3.4 分隔標簽 142
7.3.5 迭代標簽 144
7.3.6 合并標簽 145
7.3.7 排序標簽 145
7.3.8 子集標簽 146
7.3.9 數據訪問標簽 149
7.3.10 Action標簽 149
7.3.11 Bean標簽 151
7.3.12 包含標簽 151
7.3.13 參數標簽 152
7.3.14 Push標簽 152
7.3.15 賦值標簽 153
7.3.16 URL標簽 153
7.4 用戶界面標簽 155
7.4.1 表單標簽 155
7.4.2 表單標簽通用屬性 156
7.4.3 表單標簽的name和value屬性 157
7.4.4 Checkboxlist標簽 158
7.4.5 Doubleselect標簽 160
7.4.6 Select標簽 161
7.4.7 Radio標簽 162
7.4.8 非表單標簽 163
第8章 Struts 2其他功能 165
8.1 Struts 2類型轉化 165
8.1.1 內建的類型轉換 166
8.1.2 自動類型轉換 166
8.1.3 類型轉換中的錯誤 169
8.1.4 定義局部異常提示 171
8.1.5 定義全局異常提示 172
8.1.6 自定義類型轉換器 173
8.2 Struts 2輸入校驗 174
8.2.1 Struts 2輸入校驗支持 174
8.2.2 手動完成輸入校驗 178
8.3 Struts 2國際化 182
8.3.1 加載全局資源文件 182
8.3.2 訪問國際化消息 183
8.3.3 使用占位符 186
8.3.4 使用表達式 188
8.3.5 加載資源文件的方式 189
8.3.6 加載資源文件的順序 193
8.4 Struts 2的異常處理 194
8.4.1 異常處理機制 194
8.4.2 聲明式異常 196
8.4.3 輸出異常信息 198
第9章 MyBatis介紹 200
9.1 MyBatis架構 200
9.2 MyBatis下載 201
9.3 MyBatis入門程序 201
第10章 MyBatis DAO開發 209
10.1 SqlSession的使用范圍 209
10.1.1 SqlSessionFactoryBuilder 209
10.1.2 SqlSessionFactory 209
10.1.3 SqlSession 209
10.2 原始DAO開發方法 210
10.2.1 映射文件 210
10.2.2 DAO接口 211
10.3 Mapper接口開發方法 212
10.3.1 實現原理 212
10.3.2 Mapper.xml(映射文件) 212
10.3.3 Mapper.java(接口) 213
10.3.4 加載UserMapper.xml文件 214
10.3.5 測試 214
第11章 MyBatis 配置文件 216
11.1 SqlMapConfig.xml配置文件 216
11.2 Mapper.xml映射文件 219
11.2.1 parameterType(輸入類型) 219
11.2.2 resultType(輸出類型) 222
11.2.3 resultMap 224
11.2.4 動態sql 225
第12章 MyBatis關聯查詢 231
12.1 商品訂單數據模型 231
12.2 一對一查詢 231
12.2.1 方法一:使用resultType 231
12.2.2 方法二:使用resultMap 233
12.3 一對多查詢 234
12.4 多對多查詢 236
12.5 延遲加載 238
12.5.1 打開延遲加載開關 238
12.5.2 一對一查詢延遲加載 239
第13章 SSM框架集成 241
13.1 Spring集成Struts 2.X 241
13.1.1 啟動Spring容器 241
13.1.2 Spring容器管理Action 243
13.2 Spring集成MyBatis 245
13.2.1 MyBatis與Spring整合jar 245
13.2.2 MyBatis配置文件 245
13.2.3 Spring配置文件 246
13.2.4 Mapper編寫 247