內容介紹
《Java Web開發實戰》從初學者的角度出發,通過通俗易懂的語言、豐富實用的實例,詳細介紹了使用Java語言和開源框架進行Web程式開發應該掌握的各項技術,內容突出“基礎”、“全面”、“深入”的特點,同時就像書名所暗示的一樣,強調“實戰”效果。在介紹技術的同時,書中都會提供示例或稍大一些的實例,同時在結尾安排有實戰,通過5~8個實戰來綜合套用本章所講解的知識,做到理論聯繫實際;每篇的最後一章有一個綜合實驗,通過一個模組綜合講解本篇的知識內容;在本書的最後兩章中提供了兩個完整的項目實例,講述從前期規劃、設計流程到項目最終實施的整個實現過程。全書共分5篇25章,包括走進JSP、掌握JSP語法、JSP內置對象、Servlet技術、綜合實驗(一)——JSP使用Model2實現登錄模組、EL表達式語言、JSTL核心標籤庫、綜合實驗(二)——結合JSTL與EL技術開發通訊錄模組、JSP操作XML、JavaScript腳本語言、綜合實驗(三)——Ajax實現用戶註冊模組、Struts 2框架、Hibernate框架、Hibernate高級套用、綜合實驗(四)——JSP+Hibernate實現留言模組、Spring框架、Spring MVC框架、綜合實驗(五)——Spring+Hibernate實現用戶管理模組、數據分頁、檔案上傳與下載、PDF與Excel組件、動態圖表、綜合實驗(六)——線上投票統計模組、基於SSH2的電子商城網站、基於SSH2的明日論壇等。所有知識都結合具體實例進行介紹,對涉及的程式代碼給出了詳細的注釋,讀者可以輕鬆領會Java Web程式開發的精髓,快速提高開發技能。本書特色及豐富的學習資源包如下:
黃金學習搭配、專業學習視頻、重難點精確打擊、學習經驗分享、學習測試診斷、有趣實踐任務、專業資源庫、學習排憂解難、獲取源程式、提供習題答案、贈送開發案例。
本書適合有志於從事軟體開發的初學者、高校計算機相關專業的學生和畢業生,可作為軟體開發人員的參考手冊,也可作為高校教師的教學參考書。
作品目錄
目 錄第1篇JSP基礎
第1章走進JSP 2
視頻講解:3分鐘
1.1JSP概述 3
1.1.1什麼是JSP 3
1.1.2項目成功案例 3
1.1.3如何學好JSP 4
1.2JSP技術特徵 5
1.2.1跨平台 5
1.2.2業務代碼分離 5
1.2.3組件重用 5
1.2.4繼承Java Servlet功能 5
1.2.5預編譯 6
1.3搭建JSP開發環境 6
1.3.1安裝Java開發工具包JDK 6
1.3.2安裝和配置Web伺服器 7
1.3.3安裝與使用資料庫 9
1.4Eclipse開發工具的安裝與使用 12
1.4.1Eclipse的下載與安裝 13
1.4.2啟動Eclipse 13
1.4.3安裝Eclipse中文語言包 13
1.4.4Eclipse工作檯 14
1.4.5配置伺服器 14
1.4.6指定Web瀏覽器 15
1.4.7設定JSP頁面的編碼格式 16
1.5開發第一個JSP程式 16
1.5.1編寫JSP程式 16
1.5.2運行JSP程式 17
1.6JSP常用資源 18
1.6.1JSP資源 18
1.6.2Eclipse資源 18
1.7實戰 19
1.7.1修改Tomcat伺服器的連線埠號 19
1.7.2通過複製Web套用到Tomcat部署Web
套用 19
1.7.3通過在server.xml檔案中配置<Context>
元素部署Web套用 19
1.7.4設定Eclipse工作空間的字元編碼 19
1.7.5為項目導入所需的Jar包 20
1.8本章小結 20
第2章掌握JSP語法 21
視頻講解:50分鐘
2.1了解JSP的基本構成 22
2.2指令標籤 22
2.2.1page指令 22
2.2.2include指令 24
2.2.3taglib指令 25
2.3嵌入Java代碼 26
2.3.1代碼片段 26
2.3.2聲明 27
2.3.3JSP表達式 27
2.4注釋 27
2.4.1HTML注釋 27
2.4.2JSP注釋 28
2.4.3動態注釋 28
2.4.4代碼注釋 28
2.5JSP動作標籤 28
2.5.1<jsp:include> 29
2.5.2<jsp:forward> 30
2.5.3<jsp:param> 31
2.5.4操作JavaBean的動作標籤 31
2.6實戰 31
2.6.1連線資料庫並將數據顯示在頁面表格中 31
2.6.2根據數據表動態生成下拉列表 32
2.6.3將3個頁面組成一個新的頁面 33
2.6.4導入頁面頭部和版權資訊頁 34
2.6.5在JSP頁面中輸出星號組成的金字塔 35
2.7本章小結 36
2.8學習成果檢驗 36
第3章JSP內置對象 37
視頻講解:90分鐘
3.1JSP內置對象的概述 38
3.2request對象 38
3.2.1獲取請求參數值 38
3.2.2解決中文亂碼 38
3.2.3獲取Form表單的信息 39
3.2.4獲取請求客戶端信息 41
3.2.5在作用域中管理屬性 42
3.2.6cookie管理 42
3.2.7獲取瀏覽器使用的語言 44
3.3response對象 44
3.3.1重定向網頁 44
3.3.2處理HTTP檔案頭 44
3.3.3設定輸出緩衝 45
3.4session對象 45
3.4.1創建及獲取session信息 46
3.4.2從會話中移除指定的綁定對象 46
3.4.3銷毀session 47
3.4.4會話逾時的管理 47
3.4.5session對象的套用 47
3.5application對象 49
3.5.1訪問應用程式初始化參數 49
3.5.2管理應用程式環境屬性 50
3.6out對象 50
3.6.1管理回響緩衝 51
3.6.2向客戶端輸出數據 51
3.7其他內置對象 51
3.7.1獲取會話範圍的pageContext對象 51
3.7.2讀取web.xml配置信息的config對象 52
3.7.3應答或請求的page對象 52
3.7.4獲取異常信息的exception對象 52
3.8實戰 53
3.8.1application對象實現網頁計數器 53
3.8.2在提交表單時加入驗證碼 54
3.8.3實現自動登錄 56
3.8.4定時刷新頁面 57
3.8.5統計用戶在某頁停留時間 58
3.9本章小結 59
3.10學習成果檢驗 59
第4章Servlet技術 60
視頻講解:88分鐘
4.1Servlet基礎 61
4.1.1Servlet與Servlet容器 61
4.1.2Servlet技術特點 61
4.1.3Servlet技術功能 62
4.1.4Servlet與JSP的區別 62
4.1.5Servlet代碼結構 62
4.1.6簡單的Servlet程式 63
4.2Servlet開發 64
4.2.1Servlet的創建 64
4.2.2Servlet配置的相關元素 65
4.3Servlet API編程常用的接口和類 67
4.3.1Servlet接口 67
4.3.2ServletConfig接口 67
4.3.3HttpServletRequest接口 67
4.3.4HttpServletResponse接口 68
4.3.5GenericServlet類 69
4.3.6HttpServlet類 69
4.4Servlet過濾器 70
4.4.1過濾器概述 70
4.4.2Filter API 70
4.4.3過濾器的配置 71
4.4.4過濾器典型套用 72
4.5實戰 74
4.5.1JSP與Servlet實現用戶註冊 74
4.5.2過濾非法文字 77
4.5.3統計網站的訪問量 80
4.5.4利用Servlet實現個人所得稅計算器 81
4.5.5生成網站表單的驗證碼 82
4.6本章小結 84
4.7學習成果檢驗 84
第5章綜合實驗(一)--JSP使用Model2
實現登錄模組 85
視頻講解:58分鐘
5.1JavaBean 86
5.1.1JavaBean簡介 86
5.1.2<jsp:useBean> 86
5.1.3<jsp:setProperty> 87
5.1.4<jsp:getProperty> 89
5.1.5JavaBean的作用域 90
5.2Model1模式 92
5.3Model2模式 94
5.3.1MVC原理 94
5.3.2JSP+Servlet+JavaBean 95
5.4兩種模式的比較 96
5.5登錄模組的實現 97
5.5.1模組介紹 97
5.5.2關鍵技術 97
5.5.3資料庫設計 98
5.5.4JavaBean設計 98
5.5.5實現過程 102
5.6運行項目 107
5.7本章小結 108
5.8學習成果檢驗 108
第2篇高 級 技 術
第6章EL表達式語言 110
視頻講解:73分鐘
6.1EL概述 111
6.1.1使用EL表達式的前提條件 111
6.1.2EL表達式的基本語法 112
6.1.3EL表達式的特點 112
6.2EL表達式的存取範圍 112
6.3EL表達式的運算符 113
6.3.1存取數據運算符"[]"和"." 113
6.3.2算術運算符 114
6.3.3關係運算符 114
6.3.4邏輯運算符 115
6.3.5empty運算符 116
6.3.6條件運算符 116
6.3.7運算符的優先權 116
6.4EL表達式中的保留字 117
6.5EL表達式中的隱含對象 117
6.5.1PageContext對象的套用 117
6.5.2param和paramValues對象的套用 117
6.5.3header和headerValues對象的套用 118
6.5.4訪問作用域範圍的隱含對象 118
6.5.5cookie對象的套用 119
6.5.6initParam對象的套用 119
6.6實戰 119
6.6.1套用EL表達式訪問JavaBean的屬性 119
6.6.2套用EL表達式顯示投票結果 121
6.6.3判斷用戶名是否為空,空則顯示相應的
提示信息 123
6.6.4顯示客戶端使用的瀏覽器 123
6.6.5判斷用戶是否登錄,並顯示不同
提示信息 123
6.7本章小結 124
6.8學習成果檢驗 124
第7章JSTL核心標籤庫 125
視頻講解:94分鐘
7.1JSTL簡介 126
7.1.1下載和配置JSTL 126
7.1.2JSTL標籤庫簡介 128
7.2表達式標籤 128
7.2.1<c:out>輸出標籤 128
7.2.2<c:set>設定標籤 129
7.2.3<c:remove>移除標籤 131
7.2.4<c:catch>捕獲異常標籤 131
7.3條件標籤 132
7.3.1<c:if>標籤 132
7.3.2<c:choose>、<c:when>和<c:otherwise>
標籤 133
7.4循環標籤 135
7.4.1<c:forEach>標籤 135
7.4.2<c:forTokens>標籤 137
7.5URL操作標籤 138
7.5.1<c:import>檔案導入標籤 138
7.5.2<c:redirect>重定向標籤 140
7.5.3<c:url>生成URL地址標籤 140
7.5.4<c:param>參數傳遞標籤 141
7.6實戰 141
7.6.1套用JSTL顯示資料庫中的
商品信息 141
7.6.2JSTL在電子商城網站中的套用 146
7.6.3JSTL導入網站註冊協定 148
7.6.4JSTL標籤實現網站計數器 149
7.6.5套用<c:if>標籤判斷用戶最喜愛的
水果 149
7.7本章小結 150
7.8學習成果檢驗 150
第8章綜合實驗(二)--結合JSTL與EL
技術開發通訊錄模組 151
視頻講解:73分鐘
8.1模組概述 152
8.1.1功能描述 152
8.1.2系統流程 152
8.1.3主頁預覽 153
8.2關鍵技術 153
8.3資料庫設計 153
8.4實現過程 154
8.4.1搭建開發環境 154
8.4.2編寫資料庫連線及操作的公共類 154
8.4.3實現用戶註冊 157
8.4.4實現用戶登錄 160
8.4.5實現通訊錄模組主頁 162
8.4.6實現添加聯繫人 165
8.4.7實現修改聯繫人 168
8.4.8實現刪除聯繫人 170
8.5運行項目 170
8.6本章小結 171
第9章JSP操作XML 172
視頻講解:110分鐘
9.1XML簡介 173
9.1.1XML文檔結構 173
9.1.2XML語法要求 174
9.1.3為XML文檔中的元素定義屬性 174
9.1.4XML的注釋 175
9.1.5處理字元數據 175
9.2dom4j概述 177
9.2.1dom4j簡介 177
9.2.2dom4j的下載與配置 177
9.3創建XML文檔 178
9.3.1創建XML文檔對象 178
9.3.2創建根節點 178
9.3.3添加注釋 179
9.3.4添加屬性 179
9.3.5創建子節點 179
9.3.6設定節點的內容 179
9.3.7設定編碼 180
9.3.8設定輸出格式 180
9.3.9輸出XML文檔 181
9.4解析XML文檔 182
9.4.1構建XML文檔對象 182
9.4.2獲取根節點 182
9.4.3獲取子節點 182
9.5修改XML文檔 183
9.5.1修改節點 183
9.5.2刪除節點 184
9.6實戰 185
9.6.1保存公告信息到XML檔案 185
9.6.2對保存到XML檔案中的公告信息進行
管理 187
9.6.3創建以當前日期為名稱的XML檔案 193
9.6.4讓XML檔案動態顯示數據 195
9.6.5在控制台上顯示XML文檔內容 196
9.7本章小結 197
9.8學習成果檢驗 197
第10章JavaScript腳本語言 198
視頻講解:216分鐘
10.1了解JavaScript 199
10.1.1什麼是JavaScript 199
10.1.2JavaScript的主要特點 199
10.1.3JavaScript與Java的區別 199
10.2在Web頁面中使用JavaScript 200
10.2.1在頁面中直接嵌入JavaScript 200
10.2.2連結外部JavaScript 200
10.3JavaScript語言基礎 201
10.3.1JavaScript的語法 201
10.3.2JavaScript中的關鍵字 202
10.3.3了解JavaScript的數據類型 203
10.3.4變數的定義及使用 204
10.3.5運算符的套用 205
10.4流程控制語句 208
10.4.1if條件判斷語句 208
10.4.2switch多路分支語句 210
10.4.3for循環語句 212
10.4.4while循環語句 213
10.4.5do...while循環語句 214
10.4.6break語句 215
10.4.7continue語句 215
10.5使用正則表達式 216
10.5.1正則表達式的語法 216
10.5.2創建正則表達式(RegExp)對象 218
10.5.3使用RegExp對象執行模式匹配 219
10.6函式 221
10.6.1函式的定義 221
10.6.2函式的調用 222
10.6.3匿名函式 223
10.7事件和事件處理程式 223
10.7.1什麼是事件和事件處理程式 223
10.7.2JavaScript的常用事件 223
10.7.3事件處理程式的調用 224
10.8常用對象 225
10.8.1String對象 225
10.8.2Math對象 229
10.8.3Date對象 230
10.8.4Window對象 233
10.9DOM技術 236
10.9.1DOM概述 236
10.9.2DOM的分層結構 236
10.9.3遍歷文檔 237
10.9.4獲取文檔中的指定元素 239
10.9.5操作文檔 239
10.9.6與DHTML相對的DOM 241
10.10實戰 242
10.10.1檢測表單元素是否為空 242
10.10.2禁止滑鼠右鍵和鍵盤相關事件 243
10.10.3驗證E-mail地址是否合法 244
10.10.4驗證手機號碼是否正確 244
10.10.5計算兩個日期相差的天數 245
10.11本章小結 246
10.12學習成果檢驗 246
第11章綜合實驗(三)--Ajax實現用戶
註冊模組 247
視頻講解:94分鐘
11.1Ajax簡介 248
11.1.1什麼是Ajax 248
11.1.2Ajax的開發模式 248
11.1.3Ajax的優點 248
11.2Ajax使用的技術 249
11.2.1XMLHttpRequest 249
11.2.2JavaScript腳本語言 251
11.2.3DOM 251
11.2.4XML語言 252
11.2.5CSS 252
11.3傳統Ajax工作流程 252
11.3.1傳送請求 252
11.3.2處理伺服器回響 253
11.3.3一個完整的實例 255
11.4jQuery實現Ajax 256
11.4.1jQuery簡介 256
11.4.2傳送GET和POST請求 258
11.4.3伺服器返回的數據格式 261
11.4.4使用$.ajax()方法 264
11.5Ajax開發需要注意的幾個問題 266
11.5.1瀏覽器兼容性問題 266
11.5.2安全問題 266
11.5.3性能問題 267
11.5.4中文編碼問題 267
11.6開發用戶註冊模組 268
11.6.1模組概述 268
11.6.2系統流程 268
11.6.3關鍵技術 269
11.6.4資料庫設計 270
11.6.5實現過程 270
11.7本章小結 280
11.8學習成果檢驗 280
第3篇框 架 技 術
第12章Struts 2框架 282
視頻講解:62分鐘
12.1MVC設計模式 283
12.2Struts 2框架概述 283
12.2.1Struts 2框架的產生 283
12.2.2Struts 2的結構體系 284
12.3Struts 2 入門 284
12.3.1獲取與配置Struts 2 284
12.3.2創建第一個Struts 2程式 285
12.4Action對象 287
12.4.1認識Action對象 287
12.4.2請求參數的注入原理 288
12.4.3Action的基本流程 288
12.4.4動態Action 289
12.4.5套用動態Action 289
12.5Struts 2的配置檔案 291
12.5.1Struts 2的配置檔案類型 291
12.5.2配置Struts 2包 291
12.5.3配置名稱空間 292
12.5.4Action的相關配置 292
12.5.5使用通配符簡化配置 294
12.5.6配置返回結果 294
12.6Struts 2的標籤庫 295
12.6.1數據標籤 295
12.6.2控制標籤 297
12.6.3表單標籤 298
12.7Struts 2的開發模式 300
12.7.1實現與Servlet API的互動 300
12.7.2域模型DomainModel 300
12.7.3驅動模型ModelDriven 301
12.8Struts 2的攔截器 302
12.8.1攔截器概述 302
12.8.2攔截器API 303
12.8.3使用攔截器 304
12.9數據驗證機制 305
12.9.1手動驗證 305
12.9.2驗證檔案的命名規則 306
12.9.3驗證檔案的編寫風格 306
12.10實戰 307
12.10.1實現用戶登錄 307
12.10.2實現簡單的計算器 308
12.10.3Struts 2標籤實現的用戶註冊 309
12.10.4XML中配置數據驗證器驗證表
單元素 310
12.10.5級聯下拉列表框 311
12.11本章小結 312
12.12學習成果檢驗 312
第13章Hibernate框架 313
視頻講解:65分鐘
13.1Hibernate簡介 314
13.1.1理解ORM原理 314
13.1.2Hibernate的結構體系 314
13.1.3Hibernate實例狀態 315
13.1.4Hibernate的適用性 316
13.2Hibernate入門 316
13.2.1Hibernate包的下載與放置 316
13.2.2Hibernate配置檔案 317
13.2.3編寫持久化類 318
13.2.4編寫映射檔案 319
13.2.5編寫Hibernate的初始化類 321
13.3自動建表技術 323
13.4Hibernate持久化對象 324
13.4.1添加數據 325
13.4.2查詢數據 325
13.4.3刪除數據 327
13.4.4修改數據 328
13.5Hibernate快取及延遲載入 330
13.5.1一級快取 330
13.5.2二級快取 331
13.5.3Lazy策略 333
13.6實戰 334
13.6.1用戶註冊 334
13.6.2修改數據 337
13.6.3將實體對象保存到資料庫 340
13.6.4更新實體對象 342
13.6.5批量刪除數據 344
13.7本章小結 345
13.8學習成果檢驗 345
第14章Hibernate高級套用 346
視頻講解:105分鐘
14.1關聯關係映射 347
14.1.1單向關聯與雙向關聯 347
14.1.2多對一單向關聯映射 347
14.1.3多對一雙向關聯映射 349
14.1.4一對一主鍵關聯映射 351
14.1.5一對一外鍵關聯映射 352
14.1.6多對多關聯映射 353
14.1.7級聯操作在關聯中的使用 354
14.2HQL檢索方式 356
14.2.1HQL的基本語法 356
14.2.2實體對象與動態實例化對象查詢 356
14.2.3條件查詢與別名的使用 357
14.2.4HQL語句的動態賦值 357
14.2.5對象導航查詢 358
14.2.6排序查詢 358
14.2.7聚合函式 359
14.2.8分組操作 359
14.2.9對日期時間的處理 359
14.2.10聯合查詢 360
14.2.11子查詢 361
14.3實戰 362
14.3.1多對一數據的添加與查詢 362
14.3.2模糊查詢藥品信息 365
14.3.3內連線查詢圖書信息 368
14.3.4利用多態查詢判斷用戶登錄身份 370
14.3.5HQL排序查詢訂單信息 372
14.4本章小結 373
14.5學習成果檢驗 373
第15章綜合實驗(四)--JSP+Hibernate
實現留言模組 374
視頻講解:72分鐘
15.1實例說明 375
15.1.1實現功能 375
15.1.2系統流程 375
15.1.3邏輯分層結構 376
15.2技術要點 376
15.2.1確定實體及關係 376
15.2.2ThreadLocal的使用 376
15.3實現過程 377
15.3.1搭建開發環境 377
15.3.2實體類與映射 379
15.3.3註冊模組 382
15.3.4用戶登錄 385
15.3.5實現留言 387
15.3.6分頁查看留言信息 390
15.3.7管理員相關操作 395
15.4運行項目 399
15.5本章小結 399
第16章Spring框架 400
視頻講解:92分鐘
16.1Spring概述 401
16.1.1Spring組成 401
16.1.2下載Spring 402
16.1.3配置Spring 402
16.1.4使用BeanFactory管理Bean 403
16.1.5套用ApllicationContext 403
16.2Spring IoC 404
16.2.1控制反轉與依賴注入 404
16.2.2配置Bean 405
16.2.3Setter注入 406
16.2.4構造器注入 406
16.2.5引用其他Bean 408
16.2.6創建匿名內部JavaBean 409
16.3AOP概述 409
16.3.1AOP術語 410
16.3.2AOP的簡單實現 411
16.4Spring的切入點 412
16.4.1靜態與動態切入點 412
16.4.2深入靜態切入點 413
16.4.3深入切入點底層 413
16.4.4Spring中的其他切入點 414
16.5Aspect對AOP的支持 414
16.5.1Aspect概述 414
16.5.2Spring中的Aspect 415
16.5.3DefaultPointcutAdvisor切入點配置器 415
16.5.4NameMatchMethodPointcutAdvisor切入點
配置器 416
16.6Spring持久化 416
16.6.1DAO模式 416
16.6.2Spring的DAO理念 417
16.6.3事務管理 419
16.6.4套用JdbcTemplate運算元據庫 422
16.6.5與Hibernate整合 423
16.6.6整合Spring與Hibernate在tb_user表中
添加信息 424
16.7實戰 425
16.7.1使用Spring對員工表進行增、刪、改、
查操作 425
16.7.2使用Spring整合Hibernate操作商品
庫存表 432
16.7.3利用DAO模式向商品信息表中添加
數據 438
16.7.4Spring AOP實現用戶註冊 439
16.7.5利用JdbcTemplate向員工信息表中添加
數據 441
16.8本章小結 443
16.9學習成果檢驗 443
第17章Spring MVC框架 444
視頻講解:88分鐘
17.1Spring MVC簡介 445
17.1.1Spring MVC的特點 445
17.1.2Spring MVC的不足 445
17.2Spring MVC中的組件 445
17.2.1核心控制器 445
17.2.2業務控制器 446
17.2.3控制器映射 446
17.2.4模型與視圖 446
17.2.5視圖解析器 446
17.2.6Command對象 446
17.3Spring MVC核心控制器 446
17.4Spring MVC控制器映射 447
17.4.1配置BeanNameUrlHandlerMapping 447
17.4.2配置SimpleUrlHandlerMapping 448
17.4.3多個控制器映射 448
17.5Spring MVC業務控制器 448
17.5.1簡單控制器 448
17.5.2參數映射控制器 450
17.5.3檔案名稱映射控制器 451
17.5.4表單控制器 451
17.5.5Spring編碼過濾器解決中文亂碼 454
17.5.6多動作控制器 454
17.6視圖解析器 456
17.6.1視圖解析器介紹 456
17.6.2配置InternalResourceViewResolver 457
17.7常見的其他第三方MVC框架 457
17.7.1Struts 458
17.7.2JSF 458
17.7.3Struts 2 458
17.8實戰 458
17.8.1套用參數映射控制器映射JSP頁面 458
17.8.2利用嚮導控制器實現分步用戶註冊 459
17.8.3利用表單控制器實現驗證處理 462
17.8.4利用多動作控制器實現數據查詢和刪除
操作 463
17.8.5使用Spring MVC編寫線上通訊錄 465
17.9本章小結 470
17.10學習成果檢驗 470
第18章綜合實驗(五)--Spring+Hibernate
實現用戶管理模組 471
視頻講解:62分鐘
18.1系統功能模組設計 472
18.2資料庫設計 472
18.3技術要點 472
18.4資料夾結構設計 473
18.5實體映射 473
18.5.1部門信息 473
18.5.2用戶信息 474
18.6設計運算元據庫的接口與類 475
18.6.1部門信息DAO接口IDeptInfoDao 475
18.6.2部門信息DAO實現類DeptInfoDao 475
18.6.3用戶信息DAO接口IUserInfoDao 476
18.6.4用戶信息DAO實現類IUserInfoDao 476
18.7登錄子模組 478
18.7.1登錄子模組控制器 478
18.7.2登錄子模組JSP頁面 479
18.8部門管理子模組 481
18.8.1部門管理子模組控制器 482
18.8.2部門管理子模組JSP頁面 483
18.9用戶管理子模組 484
18.9.1用戶管理子模組檔案上傳類 485
18.9.2用戶管理子模組控制器類 486
18.9.3用戶管理子模組JSP頁面 488
18.10配置檔案 491
18.10.1在src檔案內編寫log4j.properties 491
18.10.2創建Spring配置檔案
applicationContext.xml 491
18.10.3配置web.xml 494
18.11運行項目 494
18.12本章小結 494
第4篇實 用 技 術
第19章數據分頁 496
視頻講解:46分鐘
19.1SQL Server資料庫分頁 497
19.1.1獲取前n條記錄 497
19.1.2獲取分頁數據 497
19.2MySQL資料庫分頁 498
19.2.1LIMIT函式 498
19.2.2獲取分頁數據 498
19.2.3獲取總頁數 499
19.3Hibernate分頁 499
19.3.1HQL分頁 499
19.3.2QBC分頁 500
19.4分頁商品信息查詢模組 500
19.4.1模組介紹 500
19.4.2系統流程 500
19.4.3關鍵技術 501
19.4.4資料庫設計 501
19.4.5實現過程 502
19.5實戰 508
19.5.1對SQL Server 2008資料庫進行分頁 508
19.5.2轉到指定頁的分頁 509
19.5.3具有頁碼跳轉功能的分頁 510
19.5.4分欄顯示 512
19.5.5套用Hibernate分頁 513
19.6本章小結 516
19.7學習成果檢驗 516
第20章檔案上傳與下載 517
視頻講解:50分鐘
20.1使用Servlet 3.0的新特性實現檔案
上傳 518
20.2使用Commons-FileUpload組件實現
檔案上傳 519
20.2.1添加表單及表單元素 519
20.2.2創建上傳對象 519
20.2.3解析上傳請求 520
20.3Spring檔案上傳 522
20.3.1配置檔案上傳解析器 522
20.3.2編寫檔案上傳表單頁面 523
20.3.3編寫檔案上傳控制器 523
20.4實現檔案下載 524
20.4.1檔案類 524
20.4.2檔案位元組輸入流 525
20.4.3位元組輸出流 525
20.5MP3樂園 527
20.5.1模組介紹 527
20.5.2系統流程 527
20.5.3關鍵技術 528
20.5.4資料庫設計 528
20.5.5公共類編寫 528
20.5.6實現系統登錄 530
20.5.7實現用戶註冊 531
20.5.8實現檔案上傳 532
20.5.9檔案下載 535
20.6本章小結 536
20.7學習成果檢驗 536
第21章PDF與Excel組件 537
視頻講解:64分鐘
21.1PDF概述 538
21.1.1PDF的優點 538
21.1.2PDF閱讀工具 538
21.2PDF組件簡介 538
21.2.1iText組件簡介 538
21.2.2iText組件的獲取 538
21.2.3iText組件關鍵類簡介 539
21.3套用iText組件生成PDF文檔 539
21.3.1創建Document對象的實例 540
21.3.2獲取PdfWrite實例 540
21.3.3為PDF文檔添加內容 540
21.3.4字型與中文字元的顯示 541
21.3.5創建表格 541
21.3.6插入圖像 542
21.4套用PDFBox組件解析PDF文檔 543
21.4.1PDFBox組件簡介 543
21.4.2PDFBox組件的獲取 543
21.4.3套用PDFBox組件解析PDF文檔 544
21.5Excel組件簡介 545
21.5.1常用Excel組件 545
21.5.2POI組件簡介 545
21.5.3POI組件的獲取 545
21.5.4POI組件關鍵類簡介 546
21.6套用POI組件讀寫Excel文檔 546
21.6.1創建一個Excel文檔 546
21.6.2設定字型樣式 547
21.6.3合併單元格 548
21.6.4讀取Excel文檔內容 549
21.7實戰 550
21.7.1將資料庫中的內容導出為PDF文檔 550
21.7.2將資料庫中的內容導出為Excel文檔 553
21.7.3設定Excel文檔中的字型樣式 554
21.7.4讀取Excel檔案的數據到資料庫 555
21.7.5設定Excel檔案的列印屬性 556
21.8本章小結 557
21.9學習成果檢驗 557
第22章動態圖表 558
視頻講解:75分鐘
22.1JFreeChart簡介 559
22.1.1認識JFreeChart組件 559
22.1.2JFreeChart的下載與使用 559
22.2JFreeChart的核心對象 560
22.2.1製圖對象 560
22.2.2製圖工廠對象 560
22.2.3數據集合對象 561
22.2.4繪圖區對象 562
22.2.5坐標軸對象 563
22.2.6圖片渲染對象 565
22.3JFreeChart的套用 565
22.3.1如何獲取圖片 565
22.3.2創建數據集合與JFreeChart實例 566
22.3.3圖表相關屬性的設定 568
22.3.4JFreeChart內置JDBC的使用 569
22.3.5中文亂碼的解決方案 571
22.4實戰 572
22.4.1JFreeChart繪製折線圖 572
22.4.2JFreeChart繪製區域圖 575
22.4.3JFreeChart繪製時序圖 577
22.4.4利用柱狀圖顯示某網站的訪問量 579
22.4.5利用餅圖顯示不同程式語言的市場
占有率 580
22.5本章小結 581
22.6學習成果檢驗 581
第23章綜合實驗(六)--線上投票
統計模組 582
視頻講解:64分鐘
23.1系統功能模組設計 583
23.1.1功能描述 583
23.1.2系統流程 583
23.2資料庫設計 583
23.3關鍵技術 584
23.3.1雙擊滑鼠展開圖片技術 584
23.3.2判斷IP所屬地區技術 585
23.4公共模組設計 586
23.4.1資料庫操作類的設計與實現 586
23.4.2投票過濾器類的設計與實現 589
23.5實現投票功能 590
23.6實現柱形圖統計功能 591
23.7實現餅形圖統計功能 594
23.8運行項目 596
23.9本章小結 596
第5篇項 目 實 戰
第24章基於SSH2的電子商城網站 598
視頻講解:48分鐘
24.1需求分析 599
24.2系統設計 599
24.2.1系統目標 599
24.2.2系統功能結構 599
24.2.3系統流程圖 600
24.3項目開發及運行環境 600
24.3.1伺服器最低配置 600
24.3.2客戶端最低配置 600
24.4系統資料夾組織結構 601
24.5資料庫與數據表設計 601
24.5.1E-R圖設計 601
24.5.2創建資料庫及數據表 602
24.6搭建項目環境 604
24.6.1配置Struts 2 604
24.6.2配置Hibernate 606
24.6.3配置Spring 607
24.6.4配置web.xml 608
24.7公共類設計 609
24.7.1泛型工具類 609
24.7.2數據持久化類 610
24.7.3分頁設計 612
24.7.4字元串工具類 615
24.8登錄與註冊模組設計 616
24.8.1註冊 616
24.8.2登錄 618
24.9前台商品信息查詢模組設計 620
24.9.1商品類別分級查詢 620
24.9.2商品搜尋 621
24.9.3前台查詢其他商品 622
24.10購物車模組設計 624
24.10.1購物車的基本功能 624
24.10.2訂單的相關功能 627
24.11後台商品管理模組設計 629
24.11.1商品管理功能 629
24.11.2實現商品類別管理功能 632
24.12後台訂單管理模組設計 635
24.12.1實現後台訂單查詢 635
24.12.2實現後台訂單狀態管理 637
24.13運行項目 639
24.14本章小結 639
第25章基於SSH2的明日論壇 640
視頻講解:32分鐘
25.1開發背景 641
25.2系統設計 641
25.2.1系統目標 641
25.2.2系統功能結構 641
25.2.3系統流程圖 641
25.3項目開發及運行環境 642
25.3.1伺服器最低配置 642
25.3.2客戶端最低配置 642
25.4系統資料夾組織結構 642
25.5資料庫與數據表設計 643
25.5.1E-R圖設計 643
25.5.2資料庫表設計 644
25.6公共類設計 645
25.6.1Spring+Hibernate組合實現持久層 645
25.6.2使用Struts 2標籤分頁 647
25.7主頁面設計 648
25.7.1文章搜尋首頁設計 649
25.7.2論壇頁設計 650
25.8文章維護模組設計 651
25.8.1添加文章模組 651
25.8.2瀏覽文章 653
25.8.3文章回復 654
25.8.4修改文章 655
25.8.5刪除文章 655
25.9文章搜尋模組設計 656
25.9.1搜尋我的文章 656
25.9.2根據關鍵字搜尋文章 657
25.9.3熱門搜尋 659
25.9.4搜尋文章作者的所有文章 659
25.9.5搜尋回復作者的所有文章 661
25.10運行項目 661
25.11本章小結 661