內容簡介
本書從初學者的角度出發,詳細講解了從
Java基礎到
SSH框架套用的各種技術知識。全書可分為四個部分,分別為基礎篇、Web篇、框架船射櫃榆篇和實戰篇,其中前6章為基礎篇,主要講解Java環境的搭建、語法規則、面向對象、集合和IO等內容;第7~16章為Web篇,主要對Web開發中常用的JSP技術、Servlet技術、jQuery框架、MySQL資料庫和JDBC等知識進行詳細講解;第17~31章為框架篇,主要對當前主流的SSH(Struts2、Spring、Hibernate)框架進行詳細講解;第32~33章為實戰篇,主要講解SSH框架的整合知識以及一個基於SSH框架的實戰項目——學生信息管理系統。本書既可作為
高等院校本/專科計算機相關專業的
程式設計課程教材,也可作為Java技術的培訓教材,是一本適合廣大計算機編程愛好者的學習教材。
圖書目錄
第1章Java開發入門1
1.1Java概述1
1.2JDK的使用2
1.2.1JDK的安裝2
1.2.2JDK的目錄介紹2
1.3環境變數4
1.3.1path環境變數4
1.3.2classpath環境變數5
1.4第一個Java程式6
1.4.1編寫第一個Java程式6
1.4.2Java程式的運行機制7
1.5Eclipse的安裝與使用7
1.5.1Eclipse的安裝與啟動8
1.5.2Eclipse進行程式開發9
第2章Java編程基礎14
2.1Java的基本語法14
2.1.1Java代碼的基本格式14
2.1.2Java中的注釋14
2.1.3Java中的標識符15
2.1.4Java中的關鍵字15
2.2Java中的變數16
2.2.1變數的定義16
2.2.2變數的數據類型16
2.2.3變數連艱甩的類型轉換17
2.2.4變數的作用域19
2.3Java中的常量19
2.4Java中的運算符20
2.4.1算術運算符20
2.4.2賦值運算符212.4.3比較運算符22
2.4.4邏輯運算符22
2.4.5運算符的優先權24
2.5選擇結構語句24
2.5.1if條件語句24
2.5.2switch條件語句27
2.6循環結構語句29
2.6.1while循環格戀語句29
2.6.2do...while循環語句30
2.6.3for循環語句31
2.6.4循環嵌套32
2.6.5跳轉語句33
2.7方法34
2.7.1方法的概念34
2.7.2方法的重載35
2.8數組37
2.8.1數組的定義37
2.8.2數組的常見操作38
2.8.3Arrays工具類41
2.9String類和StringBuffer類42
2.9.1String類42
2.9.2StringBuffer類44
2.10包裝類46
第3章面向對象47
3.1面向對象的概念和特徵47
3.2類與對象47
3.2.1類與對象的關係47
3.2.2類的定義48
3.2.3對象的創建48
3.2.4類的封裝49
目錄Java自學寶典3.3構造方法51
3.3.1構造方法的定義51
3.3.2構造方法的重載53
3.4this關鍵字54
3.5static關鍵字56
3.5.1靜態變付潤兵量56
3.5.2靜態方法57
3.5.3靜敬道宙態代碼塊58
3.6類的繼承59
3.6.1繼承的概念59
3.6.2重寫父類方法59
3.6.3super關鍵字61
3.7抽象類和接口63
3.7.1抽象類63
3.7.2接口65
3.8多態67
3.8.1多態概述67
3.8.2對象求循謎櫃的類型轉換69
3.8.3匿名內部類71
3.9異常72
3.9.1異常的概念72
3.9.2常見的異常類73
3.9.3try...catch和finally74
3.9.4throws關鍵字75
3.10訪問控制77
第4章集合類78
4.1初識集合78
4.1.1集合概述78
4.1.2Collection接口簡介79
4.2List接口79
4.2.1List接口簡介79
4.2.2ArrayList集合80
4.2.3Iterator接口81
4.2.4foreach循環82
4.2.5泛型83
4.3Set接口84
4.3.1Set接口簡介84
4.3.2HashSet集合84
4.4Map接口85
4.4.1Map接口簡介85
4.4.2HashMap集合86
4.4.3Properties集合87
第5章輸入/輸出89
5.1I/O流概述89
5.2位元組流89
5.2.1位元組流的概念充祝擔89
5.2.2位元組流的讀/寫操作91
5.2.3檔案的複製93
5.2.4位元組流的緩衝區94
5.2.5位元組緩衝流95
5.3字元流96
5.3.1字元流的概念96
5.3.2字元流的讀/寫操作97
5.3.3字元緩衝流98
5.3.4轉換流99
5.4File類100
5.4.1File類的常用方法100
5.4.2遍歷目錄下的檔案101
5.4.3刪除檔案及目錄102
第6章多執行緒103
6.1執行緒概述103
6.2執行緒的創建103
6.2.1繼承Thread類103
6.2.2實現Runnable接口105
6.2.3Thread類和Runnable接口對比分析106
6.3執行緒的狀態和轉換109
6.4多執行緒同步110
6.4.1執行緒安全110
6.4.3同步方法113
第7章網頁開發基礎115
7.1HTML技術115
7.1.1HTML簡介115
7.1.2單標記和雙標記117
7.1.3文本控制與文本樣式標記117
7.1.4圖像標記118
7.1.5表格標記119
7.1.6表單標記121
7.1.7列表標記和超連結標記124
7.1.8<div>標記126
7.2CSS技術127
7.2.1CSS簡介127
7.2.2CSS樣式的引用方式127
7.3JavaScript基礎133
7.3.1DOM相關知識133
7.3.2JavaScript概述134
7.3.3JavaScript的使用139
第8章JavaWeb概述142
8.1Web開發的相關知識142
8.1.1C/S與B/S體系結構142
8.1.2Web資源143
8.2XML基礎144
8.2.1XML概述144
8.2.2XML語法145
8.2.3DTD約束146
8.2.4Schema約束149
8.3HTTP152
8.3.1HTTP概述152
8.3.2HTTP請求訊息153
8.3.3HTTP回響訊息156
8.4Tomcat158
8.4.1Tomcat簡介158
8.4.2Tomcat的安裝和啟動158
8.4.3Tomcat中的Web套用159
8.4.4在Eclipse中配置Tomcat161
第9章Servlet基礎165
9.1Servlet概述165
9.2Servlet開發入門166
9.2.1Servlet接口及其實現類166
9.2.2實現第一個Servlet程式167
9.2.3Servlet的生命周期172
9.3Servlet虛擬路徑映射的配置173
9.3.1Servlet的多重映射173
9.3.2Servlet映射路徑中使用通配符174
9.3.3默認Servlet175
9.4ServletConfig和ServletContext176
9.4.1ServletConfig接口176
9.4.2ServletContext接口178
第10章請求和回響182
10.1請求和回響概述182
10.2.1獲取請求行信息的相關方法183
10.2.2獲取請求訊息頭的相關方法185
10.3HttpServletRequest套用186
10.3.1獲取請求參數186
10.3.2通過Request對象傳遞數據189
10.3.3解決請求參數的中文亂碼問題190
10.4RequestDispatcher對象的套用191
10.4.1RequestDispatcher接口191
10.4.2請求轉發191
10.5HttpServletResponse對象193
10.5.1傳送狀態碼相關的方法193
10.5.2傳送回響訊息頭相關的方法194
10.5.3傳送回響訊息體相關的方法195
10.6HttpServletResponse套用195
10.6.1解決中文輸出亂碼問題195
10.6.2實現請求重定向197
第11章JSP技術201
11.1JSP概述201
11.1.1JSP201
11.1.2第一個JSP檔案的創建201
11.1.3JSP運行原理203
11.2JSP的腳本元素和注釋204
11.2.1JSP腳本元素204
11.2.2JSP注釋206
11.3JSP指令207
11.3.1page指令207
11.3.2include指令208
11.4JSP隱式對象209
11.4.1隱式對象的概述209
11.4.2out對象210
11.4.3pageContext對象211
11.4.4exception對象213
11.5JSP動作元素215
11.5.1<jsp:include>動作元素215
11.5.2<jsp:forward>動作元素215
11.6JSP開發模型217
11.6.1JavaBean217
11.6.2JSP設計模式218
第12章Cookie和Session221
12.1Cookie對象221
12.1.1Cookie221
12.1.2CookieAPI222
12.1.3顯示用戶上次訪問的時間223
12.2Session對象225
12.2.1Session225
12.2.2HttpSessionAPI226
12.2.3Session逾時管理227
12.2.4實現用戶登錄228
第13章EL表達式和JSTL238
13.1EL表達式238
13.1.1EL概述238
13.1.2EL中的標識符238
13.1.3EL中的保留字239
13.1.4EL中的變數239
13.1.5EL中的常量239
13.1.6EL中的運算符240
13.1.7EL隱式對象243
13.2JSTL248
13.2.1JSTL248
13.2.2JSTL的配置和測試249
13.2.3JSTL中的Core標籤庫250
第14章Servlet高級257
14.1Filter257
14.1.1Filter概述257
14.1.2實現第一個Filter程式258
14.1.3Filter映射261
14.1.4Filter鏈264
14.1.5FilterConfig接口267
14.1.6統一全站編碼269
14.2Listener273
14.2.1Servlet事件監聽器概述273
14.2.2統計當前線上人數274
第15章jQuery框架278
15.1jQuery概述278
15.1.1jQuery278
15.1.2jQuery的下載與使用278
15.2jQuery選擇器280
15.2.1基本選擇器280
15.2.2層次選擇器282
15.2.3過濾選擇器284
15.2.4表單選擇器293
15.3jQuery的事件處理296
15.3.1常用事件296
15.3.2頁面載入事件296
15.3.3事件綁定與切換297
15.4jQuery的Ajax操作299
15.4.1Ajax概述299
15.4.2jQuery的Ajax操作300
第16章MySQL和JDBC306
16.1資料庫基礎知識306
16.1.1資料庫概述306
16.1.2MySQL的安裝與配置306
16.1.3MySQL的圖形化工具307
16.2MySQL的基本使用309
16.2.1資料庫的基本操作309
16.2.2表的基本操作310
16.2.3數據的基本操作313
16.2.4單表查詢314
16.3MySQL的多表操作320
16.3.1外鍵約束320
16.3.2內連線322
16.3.3外連線323
16.3.4子查詢324
16.4JDBC技術簡介326
16.5JDBC常用API327
16.5.1Driver接口327
16.5.2DriverManager類327
16.5.3Connection接口327
16.5.4Statement接口327
16.5.5PreparedStatement接口328
16.5.6ResultSet接口329
16.6實現第一個JDBC程式329
16.7資料庫連線池334
16.7.1資料庫連線池334
16.7.2DataSource接口334
16.7.3C3P0數據源335
第17章Struts2框架入門338
17.1Struts2簡介338
17.1.1Struts2概述338
17.1.2Struts2的下載339
17.1.3Struts2的使用339
17.2Struts2入門340
17.2.1第一個Struts2程式340
17.2.2Struts2的執行流程分析345
第18章Struts2的核心配置348
18.1.1struts.xml檔案348
18.1.2常量配置349
18.1.3包配置350
18.1.4包含配置350
18.2Action的配置351
18.2.1實現Action控制類351
18.2.2配置Action352
18.2.3使用通配符353
18.3Action訪問ServletAPI354
18.3.1通過ActionContext訪問354
18.3.2通過ServletActionContext訪問358
18.4Action處理請求參數360
18.4.1屬性驅動360
18.4.2模型驅動364
18.5Result結果類型365
18.5.1配置Result365
18.5.2預定義的結果類型366
18.5.3dispatcher結果類型367
18.5.4redirect結果類型368
第19章Struts2的攔截器370
19.1攔截器簡介370
19.1.1攔截器概述370
19.1.2攔截器的配置371
19.2Struts2的內建攔截器373
19.2.1內建攔截器的介紹373
19.2.2內建攔截器的配置375
19.3自定義攔截器376
19.3.1實現自定義攔截器376
19.3.2使用攔截器實現許可權控制377
第20章Struts2的標籤庫385
20.1Struts2標籤庫概述385
20.1.1Struts2標籤庫的分類385
20.1.2Struts2標籤的使用386
20.2Struts2的控制標籤386
20.2.1<s:if>、<s:elseif>、<s:else>標籤386
20.2.2<s:iterator>標籤386
20.3Struts2的數據標籤389
20.3.1<s:property>標籤389
20.3.2<s:a>標籤390
20.3.3<s:debug>標籤390
20.3.4<s:include>標籤390
20.3.5<s:param>392
20.4Struts2的模板和主題392
20.5Struts2的表單標籤393
20.5.1表單標籤的公共屬性393
20.5.2<s:form>標籤394
20.5.3<s:textfield>和<s:textarea>標籤394
20.5.4<s:password>標籤394
20.5.5<s:radio>標籤395
20.5.6<s:reset>標籤395
20.5.7<s:submit>標籤396
20.5.8<s:checkboxlist>標籤397
20.5.9<s:select>標籤398
20.5.10<s:optgroup>標籤399
20.5.11<s:file>標籤400
20.5.12<s:hidden>標籤400
20.6Struts2的非表單標籤401
第21章Struts2的OGNL和值棧403
21.1OGNL403
21.1.1OGNL概述403
21.1.2OGNL表達式404
21.1.3使用OGNL訪問對象方法和靜態方法408
21.2值棧412
21.2.1值棧的意義412
21.2.2值棧的內部結構413
21.2.3值棧在開發中的套用415
21.2.4通過EL訪問值棧的數據420
第22章Struts2的檔案上傳和下載421
22.1檔案上傳421
22.1.1檔案上傳的概述421
22.1.2單個檔案上傳423
22.1.3限制檔案的大小和類型426
22.2檔案下載428
22.2.1檔案下載的概述428
22.2.2檔案下載429
22.2.3中文檔案的下載431
第23章Hibernate框架入門435
23.1Hibernate概述435
23.2Hibernate下載和目錄介紹435
23.3第一個Hibernate程式437
23.3.1編寫Hibernate程式437
23.3.2測試Hibernate程式441
23.4Hibernate的運行機制447
23.5Hibernate的核心檔案448
23.5.1.hbm.xml映射檔案448
23.5.2hibernate.cfg.xml配置檔案452
23.6Hibernate的核心API454
23.6.1Configuration454
23.6.2SessionFactory454
23.6.3Session455
23.6.4Transaction456
23.6.5Query457
23.6.6Criteria459
第24章Hibernate的持久化對象狀態和一級快取462
24.1Hibernate持久化對象的狀態462
24.1.1持久化對象的狀態及狀態轉換462
24.1.2演示持久化對象的狀態轉換463
24.2Hibernate的一級快取467
24.2.1一級快取467
24.2.2Hibernate的快照技術469
24.2.3一級快取常用操作470
第25章Hibernate的關聯關係映射474
25.1關聯關係映射474
25.1.1三種關聯關係474
25.1.2一對多關聯關係映射475
25.1.3多對多關聯關係映射481
25.2關聯關係中的反轉與級聯485
25.2.1反轉操作485
25.2.2級聯操作487
第26章Hibernate的檢索方式493
26.1Hibernate檢索方式的概述493
26.1.1導航對象圖檢索方式493
26.1.2OID檢索方式493
26.1.3HQL檢索方式493
26.1.4QBC檢索方式494
26.1.5本地SQL檢索方式495
26.2HQL檢索495
26.2.1指定別名495
26.2.2投影查詢496
26.2.3動態實例查詢497
26.2.4條件查詢498
26.2.5分頁查詢501
26.3QBC檢索502
26.3.1組合查詢502
26.3.2分頁查詢504
第27章Hibernate的事務處理和二級快取506
27.1事務506
27.1.1事務的特性506
27.1.2事務的隔離級別506
27.2Hibernate的事務處理507
27.2.1事務的配置507
27.2.2悲觀鎖508
27.2.3樂觀鎖514
27.3Hibernate的二級快取516
27.3.1二級快取的原理和分類516
27.3.2二級快取的並發訪問策略517
27.3.3二級快取的常用外掛程式518
27.3.4二級快取的配置和使用518
第28章Spring框架入門522
28.1Spring基本知識522
28.1.1Spring框架概述522
28.1.2Spring的體系結構523
28.1.3Spring的下載及目錄結構524
28.2Spring的IoC容器526
28.2.1BeanFactory526
28.2.2ApplicationContext526
28.3編寫第一個Spring程式527
28.4依賴注入530
第29章Spring中的Bean533
29.1Bean的配置533
29.2Bean的實例化534
29.2.1構造器實例化534
29.2.2靜態工廠方式實例化536
29.2.3實例工廠方式實例化538
29.3Bean的作用域540
29.3.1作用域的種類540
29.3.2singleton作用域540
29.3.3prototype作用域541
29.4Bean的生命周期542
29.5Bean的裝配方式543
29.5.1基於XML的裝配543
29.5.2基於Annotation的裝配546
29.5.3自動裝配550第30章面向切面編程(SpringAOP)55230.1SpringAOP概述552
30.2手動代理552
30.2.1JDK動態代理553
30.2.2CGLIB代理556
30.3聲明式工廠Bean559
30.3.1Spring通知類型559
30.3.2聲明式SpringAOP559
30.4AspectJ562
30.4.1基於XML的聲明式562
30.4.2基於Annotation的聲明式566
第31章Spring事務管理571
31.1SpringJDBCTemplate571
31.2Spring事務管理的三個核心接口573
31.3Spring聲明式事務管理574
31.3.1基於XML方式574
31.3.2基於Annotation方式580
第32章SSH框架整合584
32.1準備整合環境584
32.1.1資料庫環境584
32.1.2配置Struts2環境584
32.1.3配置Spring環境586
32.1.4配置Hibernate環境588
32.2Spring與Hibernate整合590
32.3Spring與Struts2整合594
32.4測試框架分層的整合597
32.5驗證事務是否生效600
32.5.1測試事務唯讀方法600
32.5.2測試事務回滾602
第33章學生信息管理系統603
33.1系統概述603
33.1.1系統的功能模組603
33.1.2系統架構設計604
33.2資料庫設計605
33.3系統環境搭建611
33.4員工登錄模組618
33.4.1系統登錄618
33.4.2實現登錄攔截628
33.4.3註銷用戶630
33.5人力資源部模組630
33.5.1部門管理631
33.5.2職務管理639
33.5.3員工管理649
33.6教學部模組656
33.6.1課程類別656
33.6.2班級管理664
2.8.1數組的定義37
2.8.2數組的常見操作38
2.8.3Arrays工具類41
2.9String類和StringBuffer類42
2.9.1String類42
2.9.2StringBuffer類44
2.10包裝類46
第3章面向對象47
3.1面向對象的概念和特徵47
3.2類與對象47
3.2.1類與對象的關係47
3.2.2類的定義48
3.2.3對象的創建48
3.2.4類的封裝49
目錄Java自學寶典3.3構造方法51
3.3.1構造方法的定義51
3.3.2構造方法的重載53
3.4this關鍵字54
3.5static關鍵字56
3.5.1靜態變數56
3.5.2靜態方法57
3.5.3靜態代碼塊58
3.6類的繼承59
3.6.1繼承的概念59
3.6.2重寫父類方法59
3.6.3super關鍵字61
3.7抽象類和接口63
3.7.1抽象類63
3.7.2接口65
3.8多態67
3.8.1多態概述67
3.8.2對象的類型轉換69
3.8.3匿名內部類71
3.9異常72
3.9.1異常的概念72
3.9.2常見的異常類73
3.9.3try...catch和finally74
3.9.4throws關鍵字75
3.10訪問控制77
第4章集合類78
4.1初識集合78
4.1.1集合概述78
4.1.2Collection接口簡介79
4.2List接口79
4.2.1List接口簡介79
4.2.2ArrayList集合80
4.2.3Iterator接口81
4.2.4foreach循環82
4.2.5泛型83
4.3Set接口84
4.3.1Set接口簡介84
4.3.2HashSet集合84
4.4Map接口85
4.4.1Map接口簡介85
4.4.2HashMap集合86
4.4.3Properties集合87
第5章輸入/輸出89
5.1I/O流概述89
5.2位元組流89
5.2.1位元組流的概念89
5.2.2位元組流的讀/寫操作91
5.2.3檔案的複製93
5.2.4位元組流的緩衝區94
5.2.5位元組緩衝流95
5.3字元流96
5.3.1字元流的概念96
5.3.2字元流的讀/寫操作97
5.3.3字元緩衝流98
5.3.4轉換流99
5.4File類100
5.4.1File類的常用方法100
5.4.2遍歷目錄下的檔案101
5.4.3刪除檔案及目錄102
第6章多執行緒103
6.1執行緒概述103
6.2執行緒的創建103
6.2.1繼承Thread類103
6.2.2實現Runnable接口105
6.2.3Thread類和Runnable接口對比分析106
6.3執行緒的狀態和轉換109
6.4多執行緒同步110
6.4.1執行緒安全110
6.4.3同步方法113
第7章網頁開發基礎115
7.1HTML技術115
7.1.1HTML簡介115
7.1.2單標記和雙標記117
7.1.3文本控制與文本樣式標記117
7.1.4圖像標記118
7.1.5表格標記119
7.1.6表單標記121
7.1.7列表標記和超連結標記124
7.1.8<div>標記126
7.2CSS技術127
7.2.1CSS簡介127
7.2.2CSS樣式的引用方式127
7.3JavaScript基礎133
7.3.1DOM相關知識133
7.3.2JavaScript概述134
7.3.3JavaScript的使用139
第8章JavaWeb概述142
8.1Web開發的相關知識142
8.1.1C/S與B/S體系結構142
8.1.2Web資源143
8.2XML基礎144
8.2.1XML概述144
8.2.2XML語法145
8.2.3DTD約束146
8.2.4Schema約束149
8.3HTTP152
8.3.1HTTP概述152
8.3.2HTTP請求訊息153
8.3.3HTTP回響訊息156
8.4Tomcat158
8.4.1Tomcat簡介158
8.4.2Tomcat的安裝和啟動158
8.4.3Tomcat中的Web套用159
8.4.4在Eclipse中配置Tomcat161
第9章Servlet基礎165
9.1Servlet概述165
9.2Servlet開發入門166
9.2.1Servlet接口及其實現類166
9.2.2實現第一個Servlet程式167
9.2.3Servlet的生命周期172
9.3Servlet虛擬路徑映射的配置173
9.3.1Servlet的多重映射173
9.3.2Servlet映射路徑中使用通配符174
9.3.3默認Servlet175
9.4ServletConfig和ServletContext176
9.4.1ServletConfig接口176
9.4.2ServletContext接口178
第10章請求和回響182
10.1請求和回響概述182
10.2.1獲取請求行信息的相關方法183
10.2.2獲取請求訊息頭的相關方法185
10.3HttpServletRequest套用186
10.3.1獲取請求參數186
10.3.2通過Request對象傳遞數據189
10.3.3解決請求參數的中文亂碼問題190
10.4RequestDispatcher對象的套用191
10.4.1RequestDispatcher接口191
10.4.2請求轉發191
10.5HttpServletResponse對象193
10.5.1傳送狀態碼相關的方法193
10.5.2傳送回響訊息頭相關的方法194
10.5.3傳送回響訊息體相關的方法195
10.6HttpServletResponse套用195
10.6.1解決中文輸出亂碼問題195
10.6.2實現請求重定向197
第11章JSP技術201
11.1JSP概述201
11.1.1JSP201
11.1.2第一個JSP檔案的創建201
11.1.3JSP運行原理203
11.2JSP的腳本元素和注釋204
11.2.1JSP腳本元素204
11.2.2JSP注釋206
11.3JSP指令207
11.3.1page指令207
11.3.2include指令208
11.4JSP隱式對象209
11.4.1隱式對象的概述209
11.4.2out對象210
11.4.3pageContext對象211
11.4.4exception對象213
11.5JSP動作元素215
11.5.1<jsp:include>動作元素215
11.5.2<jsp:forward>動作元素215
11.6JSP開發模型217
11.6.1JavaBean217
11.6.2JSP設計模式218
第12章Cookie和Session221
12.1Cookie對象221
12.1.1Cookie221
12.1.2CookieAPI222
12.1.3顯示用戶上次訪問的時間223
12.2Session對象225
16.5.3Connection接口327
16.5.4Statement接口327
16.5.5PreparedStatement接口328
16.5.6ResultSet接口329
16.6實現第一個JDBC程式329
16.7資料庫連線池334
16.7.1資料庫連線池334
16.7.2DataSource接口334
16.7.3C3P0數據源335
第17章Struts2框架入門338
17.1Struts2簡介338
17.1.1Struts2概述338
17.1.2Struts2的下載339
17.1.3Struts2的使用339
17.2Struts2入門340
17.2.1第一個Struts2程式340
17.2.2Struts2的執行流程分析345
第18章Struts2的核心配置348
18.1.1struts.xml檔案348
18.1.2常量配置349
18.1.3包配置350
18.1.4包含配置350
18.2Action的配置351
18.2.1實現Action控制類351
18.2.2配置Action352
18.2.3使用通配符353
18.3Action訪問ServletAPI354
18.3.1通過ActionContext訪問354
18.3.2通過ServletActionContext訪問358
18.4Action處理請求參數360
18.4.1屬性驅動360
18.4.2模型驅動364
18.5Result結果類型365
18.5.1配置Result365
18.5.2預定義的結果類型366
18.5.3dispatcher結果類型367
18.5.4redirect結果類型368
第19章Struts2的攔截器370
19.1攔截器簡介370
19.1.1攔截器概述370
19.1.2攔截器的配置371
19.2Struts2的內建攔截器373
19.2.1內建攔截器的介紹373
19.2.2內建攔截器的配置375
19.3自定義攔截器376
19.3.1實現自定義攔截器376
19.3.2使用攔截器實現許可權控制377
第20章Struts2的標籤庫385
20.1Struts2標籤庫概述385
20.1.1Struts2標籤庫的分類385
20.1.2Struts2標籤的使用386
20.2Struts2的控制標籤386
20.2.1<s:if>、<s:elseif>、<s:else>標籤386
20.2.2<s:iterator>標籤386
20.3Struts2的數據標籤389
20.3.1<s:property>標籤389
20.3.2<s:a>標籤390
20.3.3<s:debug>標籤390
20.3.4<s:include>標籤390
20.3.5<s:param>392
20.4Struts2的模板和主題392
20.5Struts2的表單標籤393
20.5.1表單標籤的公共屬性393
20.5.2<s:form>標籤394
20.5.3<s:textfield>和<s:textarea>標籤394
20.5.4<s:password>標籤394
20.5.5<s:radio>標籤395
20.5.6<s:reset>標籤395
20.5.7<s:submit>標籤396
20.5.8<s:checkboxlist>標籤397
20.5.9<s:select>標籤398
20.5.10<s:optgroup>標籤399
20.5.11<s:file>標籤400
20.5.12<s:hidden>標籤400
20.6Struts2的非表單標籤401
第21章Struts2的OGNL和值棧403
21.1OGNL403
21.1.1OGNL概述403
21.1.2OGNL表達式404
21.1.3使用OGNL訪問對象方法和靜態方法408
21.2值棧412
21.2.1值棧的意義412
21.2.2值棧的內部結構413
21.2.3值棧在開發中的套用415
21.2.4通過EL訪問值棧的數據420
第22章Struts2的檔案上傳和下載421
22.1檔案上傳421
22.1.1檔案上傳的概述421
22.1.2單個檔案上傳423
22.1.3限制檔案的大小和類型426
22.2檔案下載428
22.2.1檔案下載的概述428
22.2.2檔案下載429
22.2.3中文檔案的下載431
第23章Hibernate框架入門435
23.1Hibernate概述435
23.2Hibernate下載和目錄介紹435
23.3第一個Hibernate程式437
23.3.1編寫Hibernate程式437
23.3.2測試Hibernate程式441
23.4Hibernate的運行機制447
23.5Hibernate的核心檔案448
23.5.1.hbm.xml映射檔案448
23.5.2hibernate.cfg.xml配置檔案452
23.6Hibernate的核心API454
23.6.1Configuration454
23.6.2SessionFactory454
23.6.3Session455
23.6.4Transaction456
23.6.5Query457
23.6.6Criteria459
第24章Hibernate的持久化對象狀態和一級快取462
24.1Hibernate持久化對象的狀態462
24.1.1持久化對象的狀態及狀態轉換462
24.1.2演示持久化對象的狀態轉換463
24.2Hibernate的一級快取467
24.2.1一級快取467
24.2.2Hibernate的快照技術469
24.2.3一級快取常用操作470
第25章Hibernate的關聯關係映射474
25.1關聯關係映射474
25.1.1三種關聯關係474
25.1.2一對多關聯關係映射475
25.1.3多對多關聯關係映射481
25.2關聯關係中的反轉與級聯485
25.2.1反轉操作485
25.2.2級聯操作487
第26章Hibernate的檢索方式493
26.1Hibernate檢索方式的概述493
26.1.1導航對象圖檢索方式493
26.1.2OID檢索方式493
26.1.3HQL檢索方式493
26.1.4QBC檢索方式494
26.1.5本地SQL檢索方式495
26.2HQL檢索495
26.2.1指定別名495
26.2.2投影查詢496
26.2.3動態實例查詢497
26.2.4條件查詢498
26.2.5分頁查詢501
26.3QBC檢索502
26.3.1組合查詢502
26.3.2分頁查詢504
第27章Hibernate的事務處理和二級快取506
27.1事務506
27.1.1事務的特性506
27.1.2事務的隔離級別506
27.2Hibernate的事務處理507
27.2.1事務的配置507
27.2.2悲觀鎖508
27.2.3樂觀鎖514
27.3Hibernate的二級快取516
27.3.1二級快取的原理和分類516
27.3.2二級快取的並發訪問策略517
27.3.3二級快取的常用外掛程式518
27.3.4二級快取的配置和使用518
第28章Spring框架入門522
28.1Spring基本知識522
28.1.1Spring框架概述522
28.1.2Spring的體系結構523
28.1.3Spring的下載及目錄結構524
28.2Spring的IoC容器526
28.2.1BeanFactory526
28.2.2ApplicationContext526
28.3編寫第一個Spring程式527
28.4依賴注入530
第29章Spring中的Bean533
29.1Bean的配置533
29.2Bean的實例化534
29.2.1構造器實例化534
29.2.2靜態工廠方式實例化536
29.2.3實例工廠方式實例化538
29.3Bean的作用域540
29.3.1作用域的種類540
29.3.2singleton作用域540
29.3.3prototype作用域541
29.4Bean的生命周期542
29.5Bean的裝配方式543
29.5.1基於XML的裝配543
29.5.2基於Annotation的裝配546
29.5.3自動裝配550第30章面向切面編程(SpringAOP)55230.1SpringAOP概述552
30.2手動代理552
30.2.1JDK動態代理553
30.2.2CGLIB代理556
30.3聲明式工廠Bean559
30.3.1Spring通知類型559
30.3.2聲明式SpringAOP559
30.4AspectJ562
30.4.1基於XML的聲明式562
30.4.2基於Annotation的聲明式566
第31章Spring事務管理571
31.1SpringJDBCTemplate571
31.2Spring事務管理的三個核心接口573
31.3Spring聲明式事務管理574
31.3.1基於XML方式574
31.3.2基於Annotation方式580
第32章SSH框架整合584
32.1準備整合環境584
32.1.1資料庫環境584
32.1.2配置Struts2環境584
32.1.3配置Spring環境586
32.1.4配置Hibernate環境588
32.2Spring與Hibernate整合590
32.3Spring與Struts2整合594
32.4測試框架分層的整合597
32.5驗證事務是否生效600
32.5.1測試事務唯讀方法600
32.5.2測試事務回滾602
第33章學生信息管理系統603
33.1系統概述603
33.1.1系統的功能模組603
33.1.2系統架構設計604
33.2資料庫設計605
33.3系統環境搭建611
33.4員工登錄模組618
33.4.1系統登錄618
33.4.2實現登錄攔截628
33.4.3註銷用戶630
33.5人力資源部模組630
33.5.1部門管理631
33.5.2職務管理639
33.5.3員工管理649
33.6教學部模組656
33.6.1課程類別656
33.6.2班級管理664