《Java Web編程寶典(十年典藏版)》是2011年1月人民郵電出版社出版的圖書,作者是明日科技、王國輝、王春斌。
基本介紹
- 中文名:Java Web編程寶典(十年典藏版)
- 作者:明日科技、王國輝、王春斌
- 出版社:人民郵電出版社
- 出版時間:2011年1月
- 頁數:692 頁
- 定價:89 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787115233080
內容簡介,圖書目錄,
內容簡介
本書是一本集技能、範例、項目和套用為一體的學習手冊,書中介紹了套用Java Web進行程式開發的各種技術、技巧。全書分4篇,共24章,其中,第 1篇為技能學習篇,主要包括Java Web開發環境、JSP語法、JSP內置對象、JavaBean技術、Servlet技術、EL與JSTL標籤庫、資料庫套用開發臘故愚迎、初識Struts 2基礎、揭密Struts 2高級技術、Hibernate技術入門、Hibernate高級套用、Spring核心之IoC、Spring核心之AOP、程式調試與發布等內容;第 2篇為範例演練篇,主要包括基礎知識相關、資料庫相關、圖像與檔案相關、圖表與報表相關、Ajax等相關的範例;第3篇為項目實戰篇,主要包括訊友聯繫人管理模組、播客視頻管理模組、部落格管理模組、明日知道論壇管理模組等4個小型項目;第4篇為商業系統篇,主要包括一個大型的商業項目,即天下淘網上購物商城系統。
本書附有配套DVD光碟,光碟中提供了書中全部實例和項目的原始碼。這些原始碼全部經過精心調試,能夠在Windows XP、Windows Server 2003及Windows 7作業系統下編譯習槳和運行。
本書適用於Java Web的初學者、編程愛好者,同時也可以作為培訓機構、大中專院校老師和學生的學習參考用書。
圖書目錄
第 1篇 技能學習篇
第 1章 駕馭Java Web開發環境
——開啟Java Web開發之門
1.1 本章學習任務 4
1.1.1 本章知識體系 4
1.1.2 實例開發任務 4
1.2 初窺Java Web套用 5
1.2.1 理解C/S結構 5
1.2.2 理解B/S結構 5
1.2.3 B/S與C/S的區別 6
1.2.4 了解Java Web套用的成功案例 7
1.3 Java Web開發的基石——開發工具包JDK 8
1.3.1 下載JDK 8
1.3.2 JDK的安店駝盼裝 10
1.3.3 配置和測試JDK 12
1.4 Java Web套用的Web伺服器——Tomcat 14
1.4.1 Web套用服務工作原理 14
1.4.2 Web套用伺服器匯總 15
1.4.3 獲取Tomcat 15
1.4.4 熟悉Tomcat的五臟六腑 17
1.5 Java Web開發利器之Eclipse 19
1.5.1 獲取Eclipse 19
1.5.2 運行Eclipse 21
1.5.3 打造中文版Eclipse 22
1.6 敬背乘做好項目開發的準備工作 25
1.6.1 集成Eclipse與Tomcat 25
1.6.2 完善Web項目開發所需配置 27
1.7 實戰檢驗 28
1.7.1 創建第 一個Java Web項目 29
1.7.2 將圖片輸出到JSP頁面之中 31
1.8 疑難解惑 31
1.8.1 Tomcat連線埠被占用導致不能啟動 31
1.8.2 Eclipse沒有創建JSP項 32
1.9 精彩回顧 33
第 2章 Java Web開發必修課
——JSP語法
2.1 本章學習任務 36
2.1.1 本章知識體系 36
2.1.2 實例開發任務 36
2.2 什麼是JSP 37
2.2.1 JSP簡介 37
2.2.2 理解JSP運行原理 38
2.3 使用JSP指令標識 39
2.3.1 艱企榆煮頁面指令page的使用 39
2.3.2 檔案包含指令include的使用 41
2.3.3 引用標籤庫指令taglib的使用 43
2.4 使用JSP腳本 44
2.4.1 在JSP中套用代碼片段 44
2.4.2 使用JSP表達式 45
2.4.3 聲明標識的使用 46
2.5 注釋的魅力 47
2.5.1 基本的HTML注釋 47
2.5.2 JSP隱藏注釋 48
2.5.3 代碼片段中的注釋 48
2.6 抹屑習常用的JSP動作標識 49
2.6.1 使用包含動作標識 49
2.6.2 使用請求轉發的動作標識 52
2.6.3 子動作標識的使用 53
2.7 實戰檢驗 54
2.7.1 輸出九九乘法表 54
2.7.2 JSP中實現隨機抽獎 55
2.8 疑難解惑 56
2.8.1 在JSP頁面中跨凳烏編寫中文之後不能保存 56
2.8.2 訪問JSP頁面出現亂碼 56
2.8.3 在JSP頁面中使用Include指令後,JSP不能編譯 56
2.9 精彩回顧 57
第3章 前人栽樹後人乘涼
——JSP內置對象
3.1 本章學習任務 60
3.1.1 本章知識體系 60
3.1.2 實例開發任務 60
3.2 簡化開發——JSP內置對象概述 61
3.2.1 為什麼需要JSP內置對象 61
3.2.2 內置對象及其使用場合 61
3.3 out輸出對象的套用 62
3.3.1 向客戶端輸出數據 62
3.3.2 管理相應緩衝區 63
3.4 request請求對象的套用 64
3.4.1 獲取請求參數 64
3.4.2 解決中文亂碼 66
3.4.3 獲取客戶端數據 66
3.5 response回應對象的套用 68
3.5.1 HTTP頭信息的操作 68
3.5.2 設定MIME類型 68
3.5.3 頁面重定向操作 69
3.6 session會話對象的套用 70
3.6.1 session的生命周期 70
3.6.2 會話的創建與獲取 70
3.6.3 移除session中的數據 71
3.6.4 設定session的有效時間 71
3.7 application套用對象套用 72
3.7.1 application的生命周期 72
3.7.2 application中數據的操作 72
3.7.3 Web套用初始化參數的配置 73
3.7.4 application對象套用示例 74
3.8 其他內置對象的套用 75
3.8.1 應答與請求的page對象 75
3.8.2 頁面上下文的pageContext對象 75
3.8.3 獲取web.xml配置信息的config對象 76
3.8.4 獲取異常信息的exception對象 76
3.9 實戰檢驗 76
3.9.1 將網頁保存為Word文檔 76
3.9.2 學生管理系統中用戶登錄模組 77
3.10 疑難解惑 79
3.10.1 表單提交中文數據亂碼 79
3.10.2 如何在超連結中傳遞多個參數 79
3.10.3 重定向後出現404錯誤 79
3.11 精彩回顧 79
第4章 體驗面向對象
——JavaBean技術
4.1 本章學習任務 82
4.1.1 本章知識體系 82
4.1.2 實例開發任務 82
4.2 JavaBean簡介 83
4.2.1 JavaBean產生的背景 83
4.2.2 使用JavaBean的意義 84
4.2.3 了解JavaBean的規範 84
4.2.4 Eclipse對JavaBean方法的支持 85
4.3 JavaBean與JSP的完美結合 86
4.3.1 更加對象化的JSP開發 86
4.3.2 標識的套用 89
4.3.3 標識的套用 90
4.3.4 標識的套用 92
4.3.5 開發體驗之JavaBean實現檔案錄入 93
4.4 實戰檢驗 95
4.4.1 利用JavaBean實現電子時鐘 95
4.4.2 通過JSP、JavaBean實現調查問卷 97
4.5 疑難解惑 100
4.5.1 不能獲取JavaBean的屬性信息 100
4.5.2 不能為JavaBean屬性賦值 100
4.5.3 獲取不到表單中的所有信息 100
4.6 精彩回顧 101
第5章 Web套用的締造者
——Servlet技術
5.1 本章學習任務 104
5.1.1 本章知識體系 104
5.1.2 實例開發任務 104
5.2 與時俱進——了解Servlet技術 105
5.2.1 初步認識Servlet 105
5.2.2 Servlet與JSP的區別 105
5.3 為我所用——Servlet技術開發 106
5.3.1 Servlet在Java EE中的結構體系 106
5.3.2 Servlet核心API 106
5.3.3 創建第 一個Servlet對象 108
5.3.4 Servlet配置解析 109
5.3.5 使用Servlet處理業務邏輯 110
5.3.6 掌握Servelet處理流程 111
5.3.7 Eclipse快速創建Servlet 112
5.4 一夫當關——配置並套用Servlet過濾器 114
5.4.1 過濾器的基本原理 115
5.4.2 過濾器的核心API 116
5.4.3 過濾器的創建與配置 116
5.4.4 Java Web中字元亂碼分析 118
5.4.5 實現字元編碼過濾器 118
5.5 實戰檢驗 122
5.5.1 通過Servlet實現錄入用戶信息 122
5.5.2 套用過濾器實現網頁計數器 126
5.6 疑難解惑 128
5.6.1 訪問Servlet出現404錯誤 128
5.6.2 修改Servlet無效 129
5.6.3 創建過濾器並沒有實現過濾效果 129
5.7 精彩回顧 129
第6章 打造無腳本的JSP頁面
——EL與JSTL標籤庫
6.1 本章學習任務 132
6.1.1 本章學習任務 132
6.1.2 實例開發任務 132
6.2 EL與JSTL簡介 133
6.2.1 什麼是EL 133
6.2.2 什麼是JSTL 133
6.3 EL表達式的套用 134
6.3.1 EL的基本語法 134
6.3.2 EL的運算符 134
6.3.3 EL的隱含對象 136
6.4 JSTL核心標籤庫的套用 138
6.4.1 數據訪問標籤 138
6.4.2 流程控制標籤 140
6.4.3 循環標籤 142
6.5 JSTL格式標籤庫的套用 144
6.5.1 使用格式化數字 144
6.5.2 使用格式化時間 145
6.6 實戰檢驗 146
6.6.1 根據星期顯示不同的提示信息 146
6.6.2 讀取數組中的數據 147
6.7 疑難解惑 147
6.7.1 JSTL的優點 147
6.7.2 JSTL和EL的關係 148
6.8 精彩回顧 148
第7章 動態網站之靈魂
——資料庫套用開發
7.1 本章學習任務 150
7.1.1 本章知識體系 150
7.1.2 實例開發任務 150
7.2 MySQL資料庫的安裝與使用 151
7.2.1 安裝並配置MySQL 151
7.2.2 安裝MySQL GUI Tool 156
7.2.3 連線MySQL Administrator 157
7.2.4 創建資料庫 158
7.2.5 創建數據表 159
7.2.6 編輯數據表中的數據 160
7.3 JDBC技術 160
7.3.1 JDBC技術原理 160
7.3.2 JDBC連線資料庫的過程 161
7.3.3 JDBC連線MySQL資料庫 162
7.4 JDBC核心API 162
7.4.1 代表資料庫連線的Connection接口 163
7.4.2 驅動程式管理器DriverManager類 163
7.4.3 執行SQL語句的Statement接口 164
7.4.4 預編譯執行SQL語句的PreparedStatement接口 164
7.4.5 結果集ResultSet接口 165
7.5 JDBC運算元據庫 166
7.5.1 向資料庫中插入數據 166
7.5.2 從資料庫中查詢所需數據 168
7.5.3 修改資料庫中的數據 170
7.5.4 刪除無用的數據 171
7.5.5 批處理數據操作 172
7.5.6 套用存儲過程進行數據操作 173
7.6 實戰檢驗 175
7.6.1 JDBC連線SQL Server 2005資料庫 175
7.6.2 網站用戶註冊 176
7.7 疑難解惑 178
7.7.1 PreparedStatement與Statement 178
7.7.2 預編譯的理解 178
7.8 精彩回顧 179
第8章 淺嘗輒止
——初識Struts 2
8.1 本章學習任務 182
8.1.1 本章知識體系 182
8.1.2 實例開發任務 182
8.2 Struts 2概述 183
8.2.1 理解MVC原理 183
8.2.2 Struts 2框架的產生 184
8.2.3 Struts 2的結構體系 184
8.3 Struts 2入門 185
8.3.1 Struts 2的獲取與放置 185
8.3.2 第 一個Struts 2程式 185
8.4 Action對象 188
8.4.1 認識Action對象 188
8.4.2 請求參數的注入原理 189
8.4.3 Action的基本流程 190
8.4.4 什麼是動態Action 190
8.4.5 動態Action的套用 191
8.5 Struts 2的配置檔案 194
8.5.1 Struts 2的配置檔案類型 194
8.5.2 Struts 2的包配置 194
8.5.3 名稱空間配置 195
8.5.4 Action相關配置 195
8.5.5 通配符實現簡化配置 197
8.5.6 返回結果的配置 197
8.6 Struts 2的開發模式 198
8.6.1 實現與Servlet API的互動 198
8.6.2 域模型DomainModel 199
8.6.3 驅動模型ModelDriven 200
8.7 實戰檢驗 201
8.7.1 Struts 2處理表單數據 201
8.7.2 使用Map類型的request、session、application 204
8.8 疑難解惑 206
8.8.1 StrutsPrepareAndExecuteFilter過濾器 206
8.8.2 struts.xml檔案配置出錯 206
8.9 精彩回顧 206
第9章 庖丁解牛
——揭密Struts 2高級技術
9.1 本章學習任務 208
9.1.1 本章知識體系 208
9.1.2 實例開發任務 208
9.2 OGNL表達式語言 209
9.2.1 認識OGNL 209
9.2.2 Struts 2框架中的OGNL 209
9.2.3 操作普通的屬性與方法 211
9.2.4 訪問靜態方法與屬性 214
9.2.5 訪問數組 214
9.2.6 訪問List、Set、Map集合 215
9.2.7 投影與選擇 215
9.3 Struts 2的標籤庫 216
9.3.1 數據標籤的套用 216
9.3.2 控制標籤的套用 219
9.3.3 表單標籤的套用 221
9.4 攔截器的使用 223
9.4.1 了解攔截器 223
9.4.2 攔截器API 225
9.4.3 使用攔截器 226
9.5 數據驗證機制 227
9.5.1 手動驗證的實現 227
9.5.2 驗證檔案的命名規則 228
9.5.3 驗證檔案的編寫風格 228
9.6 實戰檢驗 229
9.6.1 Struts 2標籤下的用戶註冊 229
9.6.2 使用驗證框架對數據校驗 232
9.7 疑難解惑 234
9.7.1 不能通過OGNL訪問類的靜態方法 234
9.7.2 不能通過OGNL訪問類的request中的變數 234
9.7.3 數據驗證無效 234
9.8 精彩回顧 234
第 10章 邂逅資料庫持久化利器
——Hibernate技術入門
10.1 本章學習任務 238
10.1.1 本章知識體系 238
10.1.2 實例開發任務 238
10.2 初識Hibernate 239
10.2.1 理解ORM原理 239
10.2.2 Hibernate簡介 240
10.3 Hibernate入門 241
10.3.1 獲取Hibernate 241
10.3.2 Hibernate配置檔案 241
10.3.3 了解並編寫持久化類 242
10.3.4 Hibernate映射 243
10.3.5 Hibernate主鍵策略 244
10.4 Hibernate數據持久化 245
10.4.1 Hibernate實例狀態 245
10.4.2 Hibernate初始化類 246
10.4.3 保存數據 247
10.4.4 查詢數據 249
10.4.5 刪除數據 250
10.4.6 修改數據 251
10.4.7 關於延遲載入 252
10.5 使用Hibernate的快取 252
10.5.1 一級快取的使用 253
10.5.2 配置並使用二級快取 254
10.6 實戰檢驗 255
10.6.1 修改員工信息 255
10.6.2 根據學號查詢學生信息 258
10.7 疑難解惑 259
10.7.1 持久化操作無法提交到資料庫 259
10.7.2 配置事務的重要性 259
10.7.3 session的持久化狀態轉換 259
10.8 精彩回顧 259
第 11章 探密資料庫持久化利器
——Hibernate高級套用
11.1 本章學習任務 262
11.1.1 本章知識體系 262
11.1.2 實例開發任務 262
11.2 實體關聯關係映射 263
11.2.1 數據模型與領域模型 264
11.2.2 理解並配置多對一單向關聯 264
11.2.3 理解並配置多對一雙向關聯 266
11.2.4 理解並配置一對一主鍵關聯 267
11.2.5 理解並配置一對一外鍵關聯 269
11.2.6 理解並配置多對多關聯關係 270
11.2.7 了解級聯操作 272
11.3 實體繼承關係映射 273
11.3.1 類繼承樹映射成一張表 273
11.3.2 每個子類映射成一張表 275
11.3.3 每個具體類映射成為一張表 276
11.4 Hibernate查詢語言 277
11.4.1 了解HQL語言 277
11.4.2 實體對象查詢 278
11.4.3 條件查詢 279
11.4.4 HQL參數綁定機制 280
11.4.5 排序查詢 280
11.4.6 聚合函式的套用 280
11.4.7 分組方法 281
11.4.8 聯合查詢 281
11.4.9 子查詢 282
11.5 實戰檢驗 283
11.5.1 雙向多對一的信息添加與查詢 283
11.5.2 員工信息的模糊查詢 285
11.6 疑難解惑 287
11.6.1 為什麼需要配置實體的關聯關係 287
11.6.2 Hibernate是否能使用SQL語句進行查詢 287
11.6.3 Hibernate與DML語言的區別 287
11.7 精彩回顧 287
第 12章 簡化企業開發瑰寶之一
——Spring核心之IoC
12.1 本章學習任務 290
12.1.1 本章知識體系 290
12.1.2 實例開發任務 290
12.2 Spring概述 291
12.2.1 初識Spring 291
12.2.2 Spring的獲取 292
12.2.3 簡單配置Spring 293
12.2.4 使用BeanFactory管理Bean 294
12.2.5 ApllicationContext的套用 294
12.3 依賴注入 295
12.3.1 什麼是控制反轉與依賴注入 295
12.3.2 Bean的配置 296
12.3.3 Setter注入 297
12.3.4 構造器注入 298
12.3.5 引用其他的Bean 299
12.3.6 匿名內部JavaBean的創建 301
12.4 自動裝配 301
12.4.1 按Bean名稱裝配 301
12.4.2 按Bean類型裝配 302
12.4.3 自動裝配的其他方式 303
12.5 Bean的作用域 304
12.5.1 了解Spring中的Bean 304
12.5.2 Singleton的作用域 304
12.5.3 Prototype的作用域 305
12.6 對Bean的特殊處理 306
12.6.1 初始化與銷毀 306
12.6.2 自定義屬性編輯器 307
12.7 實戰檢驗 309
12.7.1 用戶登錄驗證 309
12.7.2 登錄頁面國際化 310
12.8 疑難解惑 312
12.8.1 控制反轉的缺點 312
12.8.2 是否有其他方式實現Setter注入和構造器注入 312
12.8.3 銷毀prototype作用域的bean是否必要 312
12.9 精彩回顧 312
第 13章 簡化企業開發瑰寶之二
——Spring核心之AOP
13.1 本章學習任務 316
13.1.1 本章知識體系 316
13.1.2 本章實例開發任務 316
13.2 AOP概述 317
13.2.1 了解AOP 317
13.2.2 AOP的簡單實現 319
13.3 Spring的切入點 320
13.3.1 靜態切入點與動態切入點 320
13.3.2 深入靜態切入點 321
13.3.3 深入切入點底層 322
13.3.4 Spring中其他切入點 322
13.4 Aspect對AOP的支持 323
13.4.1 了解Aspect 323
13.4.2 Spring中的Aspect 323
13.4.3 DefaultPointcutAdvisor切入點配置器 324
13.4.4 NameMatchMethodPointcutAdvisor切入點配置器 325
13.5 Spring持久化 325
13.5.1 DAO模式介紹 325
13.5.2 Spring的DAO理念 326
13.5.3 事務套用的管理 328
13.5.4 套用JdbcTemplate運算元據庫 331
13.5.5 與Hibernate整合 332
13.6 實戰檢驗 334
13.6.1 Spring AOP實現的用戶註冊 334
13.6.2 Spring與Hibernate整合批量添加數據 336
13.7 疑難解惑 338
13.7.1 AOP與OOP的區別 338
13.7.2 AOP的優點 338
13.7.3 在Spring中不直接使用JDBC的原因 338
13.8 精彩回顧 339
第 14章 程式設計師的伴侶
——程式調試與發布
14.1 本章學習任務 342
14.1.1 本章知識體系 342
14.1.2 本章學習任務 342
14.2 查看錯誤提示信息 342
14.2.1 查看JSP頁面輸出的錯誤 342
14.2.2 查看錯誤日誌 343
14.3 常見錯誤的分析與解決 343
14.3.1 指令標識的語法錯誤 343
14.3.2 動作標識的語法錯誤 345
14.3.3 腳本標識中的錯誤 346
14.3.4 空指針錯誤 349
14.4 發布網站到個人伺服器 351
14.4.1 發布網站的前提條件 351
14.4.2 發布配置 351
第 2篇 範例演練篇
第 15章 學以致用
——基礎知識相關
15.1 帶記錄賬號功能的用戶登錄 356
15.1.1 範例功能演示 356
15.1.2 開發思路指引 356
15.1.3 專家難點解析 357
15.1.4 設計過程詳解 357
15.1.5 範例開發手記 358
15.1.6 進階與提高 358
15.2 防止重複提交的問卷調查 359
15.2.1 範例功能演示 359
15.2.2 開發思路指引 359
15.2.3 專家難點解析 360
15.2.4 設計過程詳解 360
15.2.5 範例開發手記 361
15.2.6 進階與提高 361
15.3 在網頁中加入驗證碼 361
15.3.1 範例功能演示 361
15.3.2 開發思路指引 362
15.3.3 專家難點解析 363
15.3.4 設計過程詳解 363
15.3.5 範例開發手記 366
15.3.6 進階與提高 366
15.4 過濾敏感字元的留言本 368
15.4.1 範例功能演示 368
15.4.2 開發思路指引 369
15.4.3 專家難點解析 369
15.4.4 設計過程詳解 369
15.4.5 範例開發手記 372
15.4.6 進階與提高 372
15.5 自動生成靜態HTML頁面 373
15.5.1 範例功能演示 373
15.5.2 開發思路指引 374
15.5.3 專家難點解析 374
15.5.4 設計過程詳解 375
15.5.5 範例開發手記 377
15.5.6 進階與提高 377
第 16章 幕後英雄的用武之地
——資料庫相關
16.1 將密碼加密並保存到資料庫 380
16.1.1 範例功能演示 380
16.1.2 開發思路指引 380
16.1.3 專家難點解析 381
16.1.4 設計過程詳解 381
16.1.5 範例開發手記 384
16.1.6 進階與提高 384
16.2 功能完善的數據分頁 384
16.2.1 範例功能演示 384
16.2.2 開發思路指引 385
16.2.3 專家難點解析 386
16.2.4 設計過程詳解 386
16.2.5 範例開發手記 389
16.2.6 進階與提高 390
16.3 在查詢結果中搜尋 391
16.3.1 範例功能演示 391
16.3.2 開發思路指引 391
16.3.3 專家難點解析 392
16.3.4 設計過程詳解 392
16.3.5 範例開發手記 395
16.3.6 進階與提高 395
16.4 通用資料庫備份 395
16.4.1 範例功能演示 395
16.4.2 開發思路指引 396
16.4.3 專家難點解析 397
16.4.4 設計過程詳解 397
16.4.5 範例開發手記 399
16.4.6 進階與提高 399
16.5 通用資料庫恢復 400
16.5.1 範例功能演示 400
16.5.2 開發思路指引 401
16.5.3 專家難點解析 401
16.5.4 設計過程詳解 401
16.5.5 範例開發手記 404
16.5.6 進階與提高 404
第 17章 Web開發的制勝法寶
——圖像與檔案相關
17.1 批量上傳檔案 406
17.1.1 範例功能演示 406
17.1.2 開發思路指引 406
17.1.3 專家難點解析 407
17.1.4 設計過程詳解 407
17.1.5 範例開發手記 408
17.1.6 進階與提高 408
17.2 上傳圖片到資料庫並顯示 408
17.2.1 範例功能演示 409
17.2.2 開發思路指引 409
17.2.3 專家難點解析 410
17.2.4 設計過程詳解 410
17.2.5 範例開發手記 411
17.2.6 進階與提高 411
17.3 生成圖片縮略圖 413
17.3.1 範例功能演示 413
17.3.2 開發思路指引 413
17.3.3 專家難點解析 414
17.3.4 設計過程詳解 414
17.3.5 範例開發手記 416
17.3.6 進階與提高 416
17.4 具有防盜鏈功能的檔案下載 416
17.4.1 範例功能演示 416
17.4.2 開發思路指引 417
17.4.3 專家難點解析 418
17.4.4 設計過程詳解 418
17.4.5 範例開發手記 419
17.4.6 進階與提高 420
17.5 檔案的壓縮與解壓 420
17.5.1 範例功能演示 420
17.5.2 開發思路指引 420
17.5.3 專家難點解析 421
17.5.4 設計過程詳解 422
17.5.5 範例開發手記 423
17.5.6 進階與提高 423
第 18章 數據分析大師
——圖表與報表相關
18.1 JFreeChart柱狀圖表分析房價 426
18.1.1 範例功能演示 426
18.1.2 開發思路指引 427
18.1.3 專家難點解析 427
18.1.4 設計過程詳解 427
18.1.5 範例開發手記 428
18.1.6 進階與提高 429
18.2 JFreeChart餅圖分析IT行業 430
18.2.1 範例功能演示 430
18.2.2 開發思路指引 431
18.2.3 專家難點解析 432
18.2.4 設計過程詳解 432
18.2.5 範例開發手記 433
18.2.6 進階與提高 433
18.3 JFreeChart組合圖分析學生零用錢收支情況 433
18.3.1 範例功能演示 433
18.3.2 開發思路指引 434
18.3.3 專家難點解析 435
18.3.4 設計過程詳解 435
18.3.5 範例開發手記 436
18.3.6 進階與提高 436
18.4 JasperReports生成訂單表格報表 437
18.4.1 範例功能演示 437
18.4.2 開發思路指引 438
18.4.3 專家難點解析 438
18.4.4 設計過程詳解 438
18.4.5 範例開發手記 440
18.4.6 進階與提高 440
18.5 JasperReports圖表報表分析Ajax框架下載量 440
18.5.1 範例功能演示 440
18.5.2 開發思路指引 441
18.5.3 專家難點解析 441
18.5.4 設計過程詳解 441
18.5.5 範例開發手記 443
18.5.6 進階與提高 443
第 19章 體驗完美視覺盛宴
——Ajax相關
19.1 實時顯示**新商品及報價 446
19.1.1 範例功能演示 446
19.1.2 開發思路指引 446
19.1.3 專家難點解析 447
19.1.4 設計過程詳解 449
19.1.5 範例開發手記 452
19.1.6 進階與提高 454
19.2 限時競拍 454
19.2.1 範例功能演示 454
19.2.2 開發思路指引 455
19.2.3 專家難點解析 455
19.2.4 設計過程詳解 457
19.2.5 範例開發手記 466
19.2.6 進階與提高 467
19.3 多級聯動下拉列表 467
19.3.1 範例功能演示 467
19.3.2 開發思路指引 468
19.3.3 專家難點解析 469
19.3.4 設計過程詳解 470
19.3.5 範例開發手記 476
19.3.6 進階與提高 476
19.4 仿Google Suggest自動完成 477
19.4.1 範例功能演示 477
19.4.2 開發思路指引 477
19.4.3 專家難點解析 478
19.4.4 設計過程詳解 479
19.4.5 範例開發手記 483
19.4.6 進階與提高 483
19.5 實時彈出氣泡提示視窗 484
19.5.1 範例功能演示 484
19.5.2 開發思路指引 484
19.5.3 專家難點解析 485
19.5.4 設計過程詳解 485
19.5.5 範例開發手記 490
19.5.6 進階與提高 491
第3篇 項目實戰篇
第 20章 通訊錄開發模板
——訊友聯繫人管理模組
20.1 模組概述 496
20.1.1 開發背景 496
20.1.2 系統功能結構 496
20.1.3 系統流程 497
20.2 技術攻關 498
20.2.1 使用Hibernate持久化Java對象 498
20.2.2 Ajax異步提交 498
20.3 資料庫設計 500
20.3.1 設計E-R圖 500
20.3.2 資料庫表設計 501
20.4 公共模組設計 501
20.4.1 Hibernate配置檔案的編寫 502
20.4.2 創建獲取數據源的公共類 503
20.5 主頁面設計 504
20.6 用戶管理模組設計 505
20.6.1 用戶實體類 505
20.6.2 用戶註冊的實現 506
22.6.3 用戶登錄的實現 510
20.7 訊友聯繫人管理模組設計 510
20.7.1 訊友類別實體類 510
20.7.2 訊友信息實體類 511
20.7.3 添加訊友類別信息 511
20.7.4 添加訊友信息 512
20.7.5 修改訊友信息 515
20.7.6 刪除訊友信息 516
20.7.7 查詢訊友信息 517
20.8 疑難解惑 518
20.8.1 Ajax請求的中文亂碼問題 518
20.8.2 去掉彈出視窗的地址欄和狀態欄 519
第 21章 打造自己的視頻網站
——播客
21.1 模組概述 522
21.1.1 開發背景 522
21.1.2 系統功能結構 523
21.1.3 系統流程 524
21.2 技術攻關 526
21.2.1 連線池介紹 526
21.2.2 連線池的工作原理 526
21.2.3 使用JNDI連線資料庫 528
21.3 資料庫設計 529
21.3.1 設計E-R圖 529
21.3.2 資料庫表設計 530
21.4 公共模組設計 531
21.4.1 配置Tomcat連線池 531
21.4.2 分頁的實現 533
21.5 主頁面設計 536
21.5.1 前台主頁設計 536
21.5.2 後台主頁設計 537
21.6 前台視頻瀏覽模組設計 538
21.6.1 定義視頻信息實體類 538
21.6.2 按類別查詢視頻信息 539
21.6.3 視頻搜尋功能 541
21.6.4 視頻播放功能 542
21.7 前台留言模組設計 544
21.7.1 定義留言信息的實體類 544
21.7.2 視頻留言查詢功能 544
21.7.3 視頻留言功能 546
21.8 後台視頻管理模組 547
21.8.1 視頻上傳功能 547
21.8.2 視頻刪除功能 551
21.9 疑難解惑 553
21.9.1 解析實現視頻播放功能的難點 553
21.9.2 解析實現視頻上傳功能的難點 553
第 22章 自我展示的空間
——部落格
22.1 模組概述 556
22.1.1 開發背景 556
22.1.2 系統功能結構 557
22.1.3 系統流程 558
22.2 技術攻關 559
22.2.1 Struts 2與Hibernate 3整合流程 559
22.2.2 套用JavaSrcipt對複選框進行操作 560
22.3 資料庫設計 561
22.3.1 設計E-R圖 561
22.3.2 資料庫表設計 562
22.4 公共模組設計 564
22.4.1 Hibernate配置檔案編寫 564
22.4.2 數據持久化類 565
22.5 主頁面設計 568
22.5.1 首頁操作實現類 569
22.5.2 首頁顯示的實現 569
22.6 用戶管理模組設計 571
22.6.1 用戶實體類 571
22.6.2 用戶的實現類 571
22.6.3 用戶註冊的實現 572
22.6.4 根據域名訪問部落格 575
22.6.5 推薦部落格操作 576
22.7 文章模組設計 577
22.7.1 文章實體類 577
22.7.2 文章的實現類 578
22.7.3 文章類型操作 578
22.7.4 文章添加操作 580
22.7.5 文章查詢操作 581
22.7.6 文章詳細查詢操作 583
22.7.7 推薦文章操作 583
22.8 疑難解惑 585
22.8.1 關於Struts 2的中文亂碼問題 585
22.8.2 關於重寫模板的問題 585
第 23章 技術交流的平台
——明日知道
23.1 模組概述 588
23.1.1 開發背景 588
23.1.2 系統功能結構 588
23.1.3 系統流程 589
23.2 技術攻關 589
23.2.1 Struts 2與Spring 2以及Hibernate 3整合流程 589
23.2.2 jQuery常用操作 590
23.3 資料庫設計 591
23.3.1 設計E-R圖 591
23.3.2 資料庫表設計 593
23.4 公共模組設計 594
23.4.1 Spring + Hibernate組合下實現持久層 594
23.4.2 Struts 2標籤實現分頁 595
23.5 主頁面設計 597
23.5.1 首頁設計 597
23.5.2 論壇頁設計 598
23.6 文章維護模組設計 600
23.6.1 添加文章 600
23.6.2 瀏覽文章 602
23.6.3 文章回復 603
23.6.4 修改文章 603
23.6.5 刪除文章 604
23.7 文章搜尋模組設計 605
23.7.1 搜尋我的文章 605
23.7.2 根據關鍵字搜尋文章 606
23.7.3 熱門搜尋 608
23.7.4 搜尋文章作者的所有文章 609
23.7.5 搜尋回復作者的所有文章 610
23.8 疑難解惑 610
23.8.1 實現文章回復的異步提交難點 610
23.8.2 系統當前位置動態設定的難點 612
第4篇 商業系統篇
第 24章 基於SSH2的天下淘商城
24.1 天下淘商城概述 618
24.1.1 開發背景 618
24.1.2 需求分析 618
24.1.3 可行性分析 618
24.1.4 功能結構圖 619
24.1.5 系統流程圖 620
24.1.6 系統預覽 621
24.2 系統整體設計 622
24.2.1 邏輯分層設計 622
24.2.2 系統資料夾組織結構 623
24.2.3 頁面結構設計 624
24.2.4 開發環境 625
24.3 資料庫設計 625
24.3.1 資料庫概念設計 625
24.3.2 創建資料庫及數據表 627
24.4 項目環境搭建 629
24.4.1 配置Struts 2 629
24.4.2 配置Hibernate 632
24.4.3 配置Spring 633
24.4.4 配置web.xml 633
24.5 公共模組的設計 634
24.5.1 Hibernate的session初始化類 635
24.5.2 泛型工具類 636
24.5.3 數據持久化類 637
24.5.4 分頁操作 638
24.5.5 字元串工具類 642
24.6 實體映射 643
24.6.1 實體對象總體設計 643
24.6.2 會員信息 643
24.6.3 訂單信息 644
24.6.4 訂單條目信息 645
24.6.5 商品信息 646
24.6.6 商品類別信息 646
24.7 登錄註冊模組設計 647
24.7.1 模組概述 647
24.7.2 註冊模組的實現 648
24.7.3 登錄模組的實現 650
24.7.4 單元測試 652
24.8 前台商品信息查詢模組設計 654
24.8.1 模組概述 654
24.8.2 商品類別分級查詢的實現 654
24.8.3 商品搜尋的實現 656
24.8.4 前台商品其他查詢的實現 658
24.8.5 單元測試 660
24.9 購物車模組設計 662
24.9.1 模組概述 662
24.9.2 購物車基本功能的實現 663
24.9.3 訂單相關功能的實現 666
24.9.4 單元測試 669
24.10 後台商品管理模組設計 670
24.10.1 模組概述 670
24.10.2 商品管理功能的實現 670
24.10.3 商品類別管理功能的實現 675
24.10.4 單元測試 678
24.11 後台訂單管理模組的設計 678
24.11.1 模組概述 678
24.11.2 後台訂單查詢的實現 679
24.11.3 後台訂單狀態管理的實現 681
24.11.4 單元測試 683
24.12 系統發布 684
24.12.1 配置Tomcat伺服器 684
24.12.2 配置DNS伺服器 685
24.13 開發總結 691
1.7 實戰檢驗 28
1.7.1 創建第 一個Java Web項目 29
1.7.2 將圖片輸出到JSP頁面之中 31
1.8 疑難解惑 31
1.8.1 Tomcat連線埠被占用導致不能啟動 31
1.8.2 Eclipse沒有創建JSP項 32
1.9 精彩回顧 33
第 2章 Java Web開發必修課
——JSP語法
2.1 本章學習任務 36
2.1.1 本章知識體系 36
2.1.2 實例開發任務 36
2.2 什麼是JSP 37
2.2.1 JSP簡介 37
2.2.2 理解JSP運行原理 38
2.3 使用JSP指令標識 39
2.3.1 頁面指令page的使用 39
2.3.2 檔案包含指令include的使用 41
2.3.3 引用標籤庫指令taglib的使用 43
2.4 使用JSP腳本 44
2.4.1 在JSP中套用代碼片段 44
2.4.2 使用JSP表達式 45
2.4.3 聲明標識的使用 46
2.5 注釋的魅力 47
2.5.1 基本的HTML注釋 47
2.5.2 JSP隱藏注釋 48
2.5.3 代碼片段中的注釋 48
2.6 常用的JSP動作標識 49
2.6.1 使用包含動作標識 49
2.6.2 使用請求轉發的動作標識 52
2.6.3 子動作標識的使用 53
2.7 實戰檢驗 54
2.7.1 輸出九九乘法表 54
2.7.2 JSP中實現隨機抽獎 55
2.8 疑難解惑 56
2.8.1 在JSP頁面中編寫中文之後不能保存 56
2.8.2 訪問JSP頁面出現亂碼 56
2.8.3 在JSP頁面中使用Include指令後,JSP不能編譯 56
2.9 精彩回顧 57
第3章 前人栽樹後人乘涼
——JSP內置對象
3.1 本章學習任務 60
3.1.1 本章知識體系 60
3.1.2 實例開發任務 60
3.2 簡化開發——JSP內置對象概述 61
3.2.1 為什麼需要JSP內置對象 61
3.2.2 內置對象及其使用場合 61
3.3 out輸出對象的套用 62
3.3.1 向客戶端輸出數據 62
3.3.2 管理相應緩衝區 63
3.4 request請求對象的套用 64
3.4.1 獲取請求參數 64
3.4.2 解決中文亂碼 66
3.4.3 獲取客戶端數據 66
3.5 response回應對象的套用 68
3.5.1 HTTP頭信息的操作 68
3.5.2 設定MIME類型 68
3.5.3 頁面重定向操作 69
3.6 session會話對象的套用 70
3.6.1 session的生命周期 70
3.6.2 會話的創建與獲取 70
3.6.3 移除session中的數據 71
3.6.4 設定session的有效時間 71
3.7 application套用對象套用 72
3.7.1 application的生命周期 72
3.7.2 application中數據的操作 72
3.7.3 Web套用初始化參數的配置 73
3.7.4 application對象套用示例 74
3.8 其他內置對象的套用 75
3.8.1 應答與請求的page對象 75
3.8.2 頁面上下文的pageContext對象 75
3.8.3 獲取web.xml配置信息的config對象 76
3.8.4 獲取異常信息的exception對象 76
3.9 實戰檢驗 76
3.9.1 將網頁保存為Word文檔 76
3.9.2 學生管理系統中用戶登錄模組 77
3.10 疑難解惑 79
3.10.1 表單提交中文數據亂碼 79
3.10.2 如何在超連結中傳遞多個參數 79
3.10.3 重定向後出現404錯誤 79
3.11 精彩回顧 79
第4章 體驗面向對象
——JavaBean技術
4.1 本章學習任務 82
4.1.1 本章知識體系 82
4.1.2 實例開發任務 82
4.2 JavaBean簡介 83
4.2.1 JavaBean產生的背景 83
4.2.2 使用JavaBean的意義 84
4.2.3 了解JavaBean的規範 84
4.2.4 Eclipse對JavaBean方法的支持 85
4.3 JavaBean與JSP的完美結合 86
4.3.1 更加對象化的JSP開發 86
4.3.2 標識的套用 89
4.3.3 標識的套用 90
4.3.4 標識的套用 92
4.3.5 開發體驗之JavaBean實現檔案錄入 93
4.4 實戰檢驗 95
4.4.1 利用JavaBean實現電子時鐘 95
4.4.2 通過JSP、JavaBean實現調查問卷 97
4.5 疑難解惑 100
4.5.1 不能獲取JavaBean的屬性信息 100
4.5.2 不能為JavaBean屬性賦值 100
4.5.3 獲取不到表單中的所有信息 100
4.6 精彩回顧 101
第5章 Web套用的締造者
——Servlet技術
5.1 本章學習任務 104
5.1.1 本章知識體系 104
5.1.2 實例開發任務 104
5.2 與時俱進——了解Servlet技術 105
5.2.1 初步認識Servlet 105
5.2.2 Servlet與JSP的區別 105
5.3 為我所用——Servlet技術開發 106
5.3.1 Servlet在Java EE中的結構體系 106
5.3.2 Servlet核心API 106
5.3.3 創建第 一個Servlet對象 108
5.3.4 Servlet配置解析 109
5.3.5 使用Servlet處理業務邏輯 110
5.3.6 掌握Servelet處理流程 111
5.3.7 Eclipse快速創建Servlet 112
5.4 一夫當關——配置並套用Servlet過濾器 114
5.4.1 過濾器的基本原理 115
5.4.2 過濾器的核心API 116
5.4.3 過濾器的創建與配置 116
5.4.4 Java Web中字元亂碼分析 118
5.4.5 實現字元編碼過濾器 118
5.5 實戰檢驗 122
5.5.1 通過Servlet實現錄入用戶信息 122
5.5.2 套用過濾器實現網頁計數器 126
5.6 疑難解惑 128
5.6.1 訪問Servlet出現404錯誤 128
5.6.2 修改Servlet無效 129
5.6.3 創建過濾器並沒有實現過濾效果 129
5.7 精彩回顧 129
第6章 打造無腳本的JSP頁面
——EL與JSTL標籤庫
6.1 本章學習任務 132
6.1.1 本章學習任務 132
6.1.2 實例開發任務 132
6.2 EL與JSTL簡介 133
6.2.1 什麼是EL 133
6.2.2 什麼是JSTL 133
6.3 EL表達式的套用 134
6.3.1 EL的基本語法 134
6.3.2 EL的運算符 134
6.3.3 EL的隱含對象 136
6.4 JSTL核心標籤庫的套用 138
6.4.1 數據訪問標籤 138
6.4.2 流程控制標籤 140
6.4.3 循環標籤 142
6.5 JSTL格式標籤庫的套用 144
6.5.1 使用格式化數字 144
6.5.2 使用格式化時間 145
6.6 實戰檢驗 146
6.6.1 根據星期顯示不同的提示信息 146
6.6.2 讀取數組中的數據 147
6.7 疑難解惑 147
6.7.1 JSTL的優點 147
6.7.2 JSTL和EL的關係 148
6.8 精彩回顧 148
第7章 動態網站之靈魂
——資料庫套用開發
7.1 本章學習任務 150
7.1.1 本章知識體系 150
7.1.2 實例開發任務 150
7.2 MySQL資料庫的安裝與使用 151
7.2.1 安裝並配置MySQL 151
7.2.2 安裝MySQL GUI Tool 156
7.2.3 連線MySQL Administrator 157
7.2.4 創建資料庫 158
7.2.5 創建數據表 159
7.2.6 編輯數據表中的數據 160
7.3 JDBC技術 160
7.3.1 JDBC技術原理 160
7.3.2 JDBC連線資料庫的過程 161
7.3.3 JDBC連線MySQL資料庫 162
7.4 JDBC核心API 162
7.4.1 代表資料庫連線的Connection接口 163
7.4.2 驅動程式管理器DriverManager類 163
7.4.3 執行SQL語句的Statement接口 164
7.4.4 預編譯執行SQL語句的PreparedStatement接口 164
7.4.5 結果集ResultSet接口 165
7.5 JDBC運算元據庫 166
7.5.1 向資料庫中插入數據 166
7.5.2 從資料庫中查詢所需數據 168
7.5.3 修改資料庫中的數據 170
7.5.4 刪除無用的數據 171
7.5.5 批處理數據操作 172
7.5.6 套用存儲過程進行數據操作 173
7.6 實戰檢驗 175
7.6.1 JDBC連線SQL Server 2005資料庫 175
7.6.2 網站用戶註冊 176
7.7 疑難解惑 178
7.7.1 PreparedStatement與Statement 178
7.7.2 預編譯的理解 178
7.8 精彩回顧 179
第8章 淺嘗輒止
——初識Struts 2
8.1 本章學習任務 182
8.1.1 本章知識體系 182
8.1.2 實例開發任務 182
8.2 Struts 2概述 183
8.2.1 理解MVC原理 183
8.2.2 Struts 2框架的產生 184
8.2.3 Struts 2的結構體系 184
8.3 Struts 2入門 185
8.3.1 Struts 2的獲取與放置 185
8.3.2 第 一個Struts 2程式 185
8.4 Action對象 188
8.4.1 認識Action對象 188
8.4.2 請求參數的注入原理 189
8.4.3 Action的基本流程 190
8.4.4 什麼是動態Action 190
8.4.5 動態Action的套用 191
8.5 Struts 2的配置檔案 194
8.5.1 Struts 2的配置檔案類型 194
8.5.2 Struts 2的包配置 194
8.5.3 名稱空間配置 195
8.5.4 Action相關配置 195
8.5.5 通配符實現簡化配置 197
8.5.6 返回結果的配置 197
8.6 Struts 2的開發模式 198
8.6.1 實現與Servlet API的互動 198
8.6.2 域模型DomainModel 199
8.6.3 驅動模型ModelDriven 200
8.7 實戰檢驗 201
8.7.1 Struts 2處理表單數據 201
8.7.2 使用Map類型的request、session、application 204
8.8 疑難解惑 206
8.8.1 StrutsPrepareAndExecuteFilter過濾器 206
8.8.2 struts.xml檔案配置出錯 206
8.9 精彩回顧 206
第9章 庖丁解牛
——揭密Struts 2高級技術
9.1 本章學習任務 208
9.1.1 本章知識體系 208
9.1.2 實例開發任務 208
9.2 OGNL表達式語言 209
9.2.1 認識OGNL 209
9.2.2 Struts 2框架中的OGNL 209
9.2.3 操作普通的屬性與方法 211
9.2.4 訪問靜態方法與屬性 214
9.2.5 訪問數組 214
9.2.6 訪問List、Set、Map集合 215
9.2.7 投影與選擇 215
9.3 Struts 2的標籤庫 216
9.3.1 數據標籤的套用 216
9.3.2 控制標籤的套用 219
9.3.3 表單標籤的套用 221
9.4 攔截器的使用 223
9.4.1 了解攔截器 223
9.4.2 攔截器API 225
9.4.3 使用攔截器 226
9.5 數據驗證機制 227
9.5.1 手動驗證的實現 227
9.5.2 驗證檔案的命名規則 228
9.5.3 驗證檔案的編寫風格 228
9.6 實戰檢驗 229
9.6.1 Struts 2標籤下的用戶註冊 229
9.6.2 使用驗證框架對數據校驗 232
9.7 疑難解惑 234
9.7.1 不能通過OGNL訪問類的靜態方法 234
9.7.2 不能通過OGNL訪問類的request中的變數 234
9.7.3 數據驗證無效 234
9.8 精彩回顧 234
第 10章 邂逅資料庫持久化利器
——Hibernate技術入門
10.1 本章學習任務 238
10.1.1 本章知識體系 238
10.1.2 實例開發任務 238
10.2 初識Hibernate 239
10.2.1 理解ORM原理 239
10.2.2 Hibernate簡介 240
10.3 Hibernate入門 241
10.3.1 獲取Hibernate 241
10.3.2 Hibernate配置檔案 241
10.3.3 了解並編寫持久化類 242
10.3.4 Hibernate映射 243
10.3.5 Hibernate主鍵策略 244
10.4 Hibernate數據持久化 245
10.4.1 Hibernate實例狀態 245
10.4.2 Hibernate初始化類 246
10.4.3 保存數據 247
10.4.4 查詢數據 249
10.4.5 刪除數據 250
10.4.6 修改數據 251
10.4.7 關於延遲載入 252
10.5 使用Hibernate的快取 252
10.5.1 一級快取的使用 253
10.5.2 配置並使用二級快取 254
10.6 實戰檢驗 255
10.6.1 修改員工信息 255
10.6.2 根據學號查詢學生信息 258
10.7 疑難解惑 259
10.7.1 持久化操作無法提交到資料庫 259
10.7.2 配置事務的重要性 259
10.7.3 session的持久化狀態轉換 259
10.8 精彩回顧 259
第 11章 探密資料庫持久化利器
——Hibernate高級套用
11.1 本章學習任務 262
11.1.1 本章知識體系 262
11.1.2 實例開發任務 262
11.2 實體關聯關係映射 263
11.2.1 數據模型與領域模型 264
11.2.2 理解並配置多對一單向關聯 264
11.2.3 理解並配置多對一雙向關聯 266
11.2.4 理解並配置一對一主鍵關聯 267
11.2.5 理解並配置一對一外鍵關聯 269
11.2.6 理解並配置多對多關聯關係 270
11.2.7 了解級聯操作 272
11.3 實體繼承關係映射 273
11.3.1 類繼承樹映射成一張表 273
11.3.2 每個子類映射成一張表 275
11.3.3 每個具體類映射成為一張表 276
11.4 Hibernate查詢語言 277
11.4.1 了解HQL語言 277
11.4.2 實體對象查詢 278
11.4.3 條件查詢 279
11.4.4 HQL參數綁定機制 280
11.4.5 排序查詢 280
11.4.6 聚合函式的套用 280
11.4.7 分組方法 281
11.4.8 聯合查詢 281
11.4.9 子查詢 282
11.5 實戰檢驗 283
11.5.1 雙向多對一的信息添加與查詢 283
11.5.2 員工信息的模糊查詢 285
11.6 疑難解惑 287
11.6.1 為什麼需要配置實體的關聯關係 287
11.6.2 Hibernate是否能使用SQL語句進行查詢 287
11.6.3 Hibernate與DML語言的區別 287
11.7 精彩回顧 287
第 12章 簡化企業開發瑰寶之一
——Spring核心之IoC
12.1 本章學習任務 290
12.1.1 本章知識體系 290
12.1.2 實例開發任務 290
12.2 Spring概述 291
12.2.1 初識Spring 291
12.2.2 Spring的獲取 292
12.2.3 簡單配置Spring 293
12.2.4 使用BeanFactory管理Bean 294
12.2.5 ApllicationContext的套用 294
12.3 依賴注入 295
12.3.1 什麼是控制反轉與依賴注入 295
12.3.2 Bean的配置 296
12.3.3 Setter注入 297
12.3.4 構造器注入 298
12.3.5 引用其他的Bean 299
12.3.6 匿名內部JavaBean的創建 301
12.4 自動裝配 301
12.4.1 按Bean名稱裝配 301
12.4.2 按Bean類型裝配 302
12.4.3 自動裝配的其他方式 303
12.5 Bean的作用域 304
12.5.1 了解Spring中的Bean 304
12.5.2 Singleton的作用域 304
12.5.3 Prototype的作用域 305
12.6 對Bean的特殊處理 306
12.6.1 初始化與銷毀 306
12.6.2 自定義屬性編輯器 307
12.7 實戰檢驗 309
12.7.1 用戶登錄驗證 309
12.7.2 登錄頁面國際化 310
12.8 疑難解惑 312
12.8.1 控制反轉的缺點 312
12.8.2 是否有其他方式實現Setter注入和構造器注入 312
12.8.3 銷毀prototype作用域的bean是否必要 312
12.9 精彩回顧 312
第 13章 簡化企業開發瑰寶之二
——Spring核心之AOP
13.1 本章學習任務 316
13.1.1 本章知識體系 316
13.1.2 本章實例開發任務 316
13.2 AOP概述 317
13.2.1 了解AOP 317
13.2.2 AOP的簡單實現 319
13.3 Spring的切入點 320
13.3.1 靜態切入點與動態切入點 320
13.3.2 深入靜態切入點 321
13.3.3 深入切入點底層 322
13.3.4 Spring中其他切入點 322
13.4 Aspect對AOP的支持 323
13.4.1 了解Aspect 323
13.4.2 Spring中的Aspect 323
13.4.3 DefaultPointcutAdvisor切入點配置器 324
13.4.4 NameMatchMethodPointcutAdvisor切入點配置器 325
13.5 Spring持久化 325
13.5.1 DAO模式介紹 325
13.5.2 Spring的DAO理念 326
13.5.3 事務套用的管理 328
13.5.4 套用JdbcTemplate運算元據庫 331
13.5.5 與Hibernate整合 332
13.6 實戰檢驗 334
13.6.1 Spring AOP實現的用戶註冊 334
13.6.2 Spring與Hibernate整合批量添加數據 336
13.7 疑難解惑 338
13.7.1 AOP與OOP的區別 338
13.7.2 AOP的優點 338
13.7.3 在Spring中不直接使用JDBC的原因 338
13.8 精彩回顧 339
第 14章 程式設計師的伴侶
——程式調試與發布
14.1 本章學習任務 342
14.1.1 本章知識體系 342
14.1.2 本章學習任務 342
14.2 查看錯誤提示信息 342
14.2.1 查看JSP頁面輸出的錯誤 342
14.2.2 查看錯誤日誌 343
14.3 常見錯誤的分析與解決 343
14.3.1 指令標識的語法錯誤 343
14.3.2 動作標識的語法錯誤 345
14.3.3 腳本標識中的錯誤 346
14.3.4 空指針錯誤 349
14.4 發布網站到個人伺服器 351
14.4.1 發布網站的前提條件 351
14.4.2 發布配置 351
第 2篇 範例演練篇
第 15章 學以致用
——基礎知識相關
15.1 帶記錄賬號功能的用戶登錄 356
15.1.1 範例功能演示 356
15.1.2 開發思路指引 356
15.1.3 專家難點解析 357
15.1.4 設計過程詳解 357
15.1.5 範例開發手記 358
15.1.6 進階與提高 358
15.2 防止重複提交的問卷調查 359
15.2.1 範例功能演示 359
15.2.2 開發思路指引 359
15.2.3 專家難點解析 360
15.2.4 設計過程詳解 360
15.2.5 範例開發手記 361
15.2.6 進階與提高 361
15.3 在網頁中加入驗證碼 361
15.3.1 範例功能演示 361
15.3.2 開發思路指引 362
15.3.3 專家難點解析 363
15.3.4 設計過程詳解 363
15.3.5 範例開發手記 366
15.3.6 進階與提高 366
15.4 過濾敏感字元的留言本 368
15.4.1 範例功能演示 368
15.4.2 開發思路指引 369
15.4.3 專家難點解析 369
15.4.4 設計過程詳解 369
15.4.5 範例開發手記 372
15.4.6 進階與提高 372
15.5 自動生成靜態HTML頁面 373
15.5.1 範例功能演示 373
15.5.2 開發思路指引 374
15.5.3 專家難點解析 374
15.5.4 設計過程詳解 375
15.5.5 範例開發手記 377
15.5.6 進階與提高 377
第 16章 幕後英雄的用武之地
——資料庫相關
16.1 將密碼加密並保存到資料庫 380
16.1.1 範例功能演示 380
16.1.2 開發思路指引 380
16.1.3 專家難點解析 381
16.1.4 設計過程詳解 381
16.1.5 範例開發手記 384
16.1.6 進階與提高 384
16.2 功能完善的數據分頁 384
16.2.1 範例功能演示 384
16.2.2 開發思路指引 385
16.2.3 專家難點解析 386
16.2.4 設計過程詳解 386
16.2.5 範例開發手記 389
16.2.6 進階與提高 390
16.3 在查詢結果中搜尋 391
16.3.1 範例功能演示 391
16.3.2 開發思路指引 391
16.3.3 專家難點解析 392
16.3.4 設計過程詳解 392
16.3.5 範例開發手記 395
16.3.6 進階與提高 395
16.4 通用資料庫備份 395
16.4.1 範例功能演示 395
16.4.2 開發思路指引 396
16.4.3 專家難點解析 397
16.4.4 設計過程詳解 397
16.4.5 範例開發手記 399
16.4.6 進階與提高 399
16.5 通用資料庫恢復 400
16.5.1 範例功能演示 400
16.5.2 開發思路指引 401
16.5.3 專家難點解析 401
16.5.4 設計過程詳解 401
16.5.5 範例開發手記 404
16.5.6 進階與提高 404
第 17章 Web開發的制勝法寶
——圖像與檔案相關
17.1 批量上傳檔案 406
17.1.1 範例功能演示 406
17.1.2 開發思路指引 406
17.1.3 專家難點解析 407
17.1.4 設計過程詳解 407
17.1.5 範例開發手記 408
17.1.6 進階與提高 408
17.2 上傳圖片到資料庫並顯示 408
17.2.1 範例功能演示 409
17.2.2 開發思路指引 409
17.2.3 專家難點解析 410
17.2.4 設計過程詳解 410
17.2.5 範例開發手記 411
17.2.6 進階與提高 411
17.3 生成圖片縮略圖 413
17.3.1 範例功能演示 413
17.3.2 開發思路指引 413
17.3.3 專家難點解析 414
17.3.4 設計過程詳解 414
17.3.5 範例開發手記 416
17.3.6 進階與提高 416
17.4 具有防盜鏈功能的檔案下載 416
17.4.1 範例功能演示 416
17.4.2 開發思路指引 417
17.4.3 專家難點解析 418
17.4.4 設計過程詳解 418
17.4.5 範例開發手記 419
17.4.6 進階與提高 420
17.5 檔案的壓縮與解壓 420
17.5.1 範例功能演示 420
17.5.2 開發思路指引 420
17.5.3 專家難點解析 421
17.5.4 設計過程詳解 422
17.5.5 範例開發手記 423
17.5.6 進階與提高 423
第 18章 數據分析大師
——圖表與報表相關
18.1 JFreeChart柱狀圖表分析房價 426
18.1.1 範例功能演示 426
18.1.2 開發思路指引 427
18.1.3 專家難點解析 427
18.1.4 設計過程詳解 427
18.1.5 範例開發手記 428
18.1.6 進階與提高 429
18.2 JFreeChart餅圖分析IT行業 430
18.2.1 範例功能演示 430
18.2.2 開發思路指引 431
18.2.3 專家難點解析 432
18.2.4 設計過程詳解 432
18.2.5 範例開發手記 433
18.2.6 進階與提高 433
18.3 JFreeChart組合圖分析學生零用錢收支情況 433
18.3.1 範例功能演示 433
18.3.2 開發思路指引 434
18.3.3 專家難點解析 435
18.3.4 設計過程詳解 435
18.3.5 範例開發手記 436
18.3.6 進階與提高 436
18.4 JasperReports生成訂單表格報表 437
18.4.1 範例功能演示 437
18.4.2 開發思路指引 438
18.4.3 專家難點解析 438
18.4.4 設計過程詳解 438
18.4.5 範例開發手記 440
18.4.6 進階與提高 440
18.5 JasperReports圖表報表分析Ajax框架下載量 440
18.5.1 範例功能演示 440
18.5.2 開發思路指引 441
18.5.3 專家難點解析 441
18.5.4 設計過程詳解 441
18.5.5 範例開發手記 443
18.5.6 進階與提高 443
第 19章 體驗完美視覺盛宴
——Ajax相關
19.1 實時顯示**新商品及報價 446
19.1.1 範例功能演示 446
19.1.2 開發思路指引 446
19.1.3 專家難點解析 447
19.1.4 設計過程詳解 449
19.1.5 範例開發手記 452
19.1.6 進階與提高 454
19.2 限時競拍 454
19.2.1 範例功能演示 454
19.2.2 開發思路指引 455
19.2.3 專家難點解析 455
19.2.4 設計過程詳解 457
19.2.5 範例開發手記 466
19.2.6 進階與提高 467
19.3 多級聯動下拉列表 467
19.3.1 範例功能演示 467
19.3.2 開發思路指引 468
19.3.3 專家難點解析 469
19.3.4 設計過程詳解 470
19.3.5 範例開發手記 476
19.3.6 進階與提高 476
19.4 仿Google Suggest自動完成 477
19.4.1 範例功能演示 477
19.4.2 開發思路指引 477
19.4.3 專家難點解析 478
19.4.4 設計過程詳解 479
19.4.5 範例開發手記 483
19.4.6 進階與提高 483
19.5 實時彈出氣泡提示視窗 484
19.5.1 範例功能演示 484
19.5.2 開發思路指引 484
19.5.3 專家難點解析 485
19.5.4 設計過程詳解 485
19.5.5 範例開發手記 490
19.5.6 進階與提高 491
第3篇 項目實戰篇
第 20章 通訊錄開發模板
——訊友聯繫人管理模組
20.1 模組概述 496
20.1.1 開發背景 496
20.1.2 系統功能結構 496
20.1.3 系統流程 497
20.2 技術攻關 498
20.2.1 使用Hibernate持久化Java對象 498
20.2.2 Ajax異步提交 498
20.3 資料庫設計 500
20.3.1 設計E-R圖 500
20.3.2 資料庫表設計 501
20.4 公共模組設計 501
20.4.1 Hibernate配置檔案的編寫 502
20.4.2 創建獲取數據源的公共類 503
20.5 主頁面設計 504
20.6 用戶管理模組設計 505
20.6.1 用戶實體類 505
20.6.2 用戶註冊的實現 506
22.6.3 用戶登錄的實現 510
20.7 訊友聯繫人管理模組設計 510
20.7.1 訊友類別實體類 510
20.7.2 訊友信息實體類 511
20.7.3 添加訊友類別信息 511
20.7.4 添加訊友信息 512
20.7.5 修改訊友信息 515
20.7.6 刪除訊友信息 516
20.7.7 查詢訊友信息 517
20.8 疑難解惑 518
20.8.1 Ajax請求的中文亂碼問題 518
20.8.2 去掉彈出視窗的地址欄和狀態欄 519
第 21章 打造自己的視頻網站
——播客
21.1 模組概述 522
21.1.1 開發背景 522
21.1.2 系統功能結構 523
21.1.3 系統流程 524
21.2 技術攻關 526
21.2.1 連線池介紹 526
21.2.2 連線池的工作原理 526
21.2.3 使用JNDI連線資料庫 528
21.3 資料庫設計 529
21.3.1 設計E-R圖 529
21.3.2 資料庫表設計 530
21.4 公共模組設計 531
21.4.1 配置Tomcat連線池 531
21.4.2 分頁的實現 533
21.5 主頁面設計 536
21.5.1 前台主頁設計 536
21.5.2 後台主頁設計 537
21.6 前台視頻瀏覽模組設計 538
21.6.1 定義視頻信息實體類 538
21.6.2 按類別查詢視頻信息 539
21.6.3 視頻搜尋功能 541
21.6.4 視頻播放功能 542
21.7 前台留言模組設計 544
21.7.1 定義留言信息的實體類 544
21.7.2 視頻留言查詢功能 544
21.7.3 視頻留言功能 546
21.8 後台視頻管理模組 547
21.8.1 視頻上傳功能 547
21.8.2 視頻刪除功能 551
21.9 疑難解惑 553
21.9.1 解析實現視頻播放功能的難點 553
21.9.2 解析實現視頻上傳功能的難點 553
第 22章 自我展示的空間
——部落格
22.1 模組概述 556
22.1.1 開發背景 556
22.1.2 系統功能結構 557
22.1.3 系統流程 558
22.2 技術攻關 559
22.2.1 Struts 2與Hibernate 3整合流程 559
22.2.2 套用JavaSrcipt對複選框進行操作 560
22.3 資料庫設計 561
22.3.1 設計E-R圖 561
22.3.2 資料庫表設計 562
22.4 公共模組設計 564
22.4.1 Hibernate配置檔案編寫 564
22.4.2 數據持久化類 565
22.5 主頁面設計 568
22.5.1 首頁操作實現類 569
22.5.2 首頁顯示的實現 569
22.6 用戶管理模組設計 571
22.6.1 用戶實體類 571
22.6.2 用戶的實現類 571
22.6.3 用戶註冊的實現 572
22.6.4 根據域名訪問部落格 575
22.6.5 推薦部落格操作 576
22.7 文章模組設計 577
22.7.1 文章實體類 577
22.7.2 文章的實現類 578
22.7.3 文章類型操作 578
22.7.4 文章添加操作 580
22.7.5 文章查詢操作 581
22.7.6 文章詳細查詢操作 583
22.7.7 推薦文章操作 583
22.8 疑難解惑 585
22.8.1 關於Struts 2的中文亂碼問題 585
22.8.2 關於重寫模板的問題 585
第 23章 技術交流的平台
——明日知道
23.1 模組概述 588
23.1.1 開發背景 588
23.1.2 系統功能結構 588
23.1.3 系統流程 589
23.2 技術攻關 589
23.2.1 Struts 2與Spring 2以及Hibernate 3整合流程 589
23.2.2 jQuery常用操作 590
23.3 資料庫設計 591
23.3.1 設計E-R圖 591
23.3.2 資料庫表設計 593
23.4 公共模組設計 594
23.4.1 Spring + Hibernate組合下實現持久層 594
23.4.2 Struts 2標籤實現分頁 595
23.5 主頁面設計 597
23.5.1 首頁設計 597
23.5.2 論壇頁設計 598
23.6 文章維護模組設計 600
23.6.1 添加文章 600
23.6.2 瀏覽文章 602
23.6.3 文章回復 603
23.6.4 修改文章 603
23.6.5 刪除文章 604
23.7 文章搜尋模組設計 605
23.7.1 搜尋我的文章 605
23.7.2 根據關鍵字搜尋文章 606
23.7.3 熱門搜尋 608
23.7.4 搜尋文章作者的所有文章 609
23.7.5 搜尋回復作者的所有文章 610
23.8 疑難解惑 610
23.8.1 實現文章回復的異步提交難點 610
23.8.2 系統當前位置動態設定的難點 612
第4篇 商業系統篇
第 24章 基於SSH2的天下淘商城
24.1 天下淘商城概述 618
24.1.1 開發背景 618
24.1.2 需求分析 618
24.1.3 可行性分析 618
24.1.4 功能結構圖 619
24.1.5 系統流程圖 620
24.1.6 系統預覽 621
24.2 系統整體設計 622
24.2.1 邏輯分層設計 622
24.2.2 系統資料夾組織結構 623
24.2.3 頁面結構設計 624
24.2.4 開發環境 625
24.3 資料庫設計 625
24.3.1 資料庫概念設計 625
24.3.2 創建資料庫及數據表 627
24.4 項目環境搭建 629
24.4.1 配置Struts 2 629
24.4.2 配置Hibernate 632
24.4.3 配置Spring 633
24.4.4 配置web.xml 633
24.5 公共模組的設計 634
24.5.1 Hibernate的session初始化類 635
24.5.2 泛型工具類 636
24.5.3 數據持久化類 637
24.5.4 分頁操作 638
24.5.5 字元串工具類 642
24.6 實體映射 643
24.6.1 實體對象總體設計 643
24.6.2 會員信息 643
24.6.3 訂單信息 644
24.6.4 訂單條目信息 645
24.6.5 商品信息 646
24.6.6 商品類別信息 646
24.7 登錄註冊模組設計 647
24.7.1 模組概述 647
24.7.2 註冊模組的實現 648
24.7.3 登錄模組的實現 650
24.7.4 單元測試 652
24.8 前台商品信息查詢模組設計 654
24.8.1 模組概述 654
24.8.2 商品類別分級查詢的實現 654
24.8.3 商品搜尋的實現 656
24.8.4 前台商品其他查詢的實現 658
24.8.5 單元測試 660
24.9 購物車模組設計 662
24.9.1 模組概述 662
24.9.2 購物車基本功能的實現 663
24.9.3 訂單相關功能的實現 666
24.9.4 單元測試 669
24.10 後台商品管理模組設計 670
24.10.1 模組概述 670
24.10.2 商品管理功能的實現 670
24.10.3 商品類別管理功能的實現 675
24.10.4 單元測試 678
24.11 後台訂單管理模組的設計 678
24.11.1 模組概述 678
24.11.2 後台訂單查詢的實現 679
24.11.3 後台訂單狀態管理的實現 681
24.11.4 單元測試 683
24.12 系統發布 684
24.12.1 配置Tomcat伺服器 684
24.12.2 配置DNS伺服器 685
24.13 開發總結 691