內容簡介
《Java Web開發實例大全(提高卷)》篩選、匯集了Java Web開發從基礎知識到高級套用各個層面的大量實例及原始碼,共有600個左右,每個實例及原始碼按實例說明、關鍵技術、設計過程、詳盡注釋、秘笈心法的順序進行了分析解讀。全書分為7篇23章,包括流行組件套用、資料庫套用、圖表統計、Ajax框架套用、流行框架、網站安全與架構模式、綜合套用等。重點內容有操作XML檔案、傳送與接收郵件、資料庫操作技術、SQL語句套用技術、複雜查詢技術、資料庫高級套用、JFreeChart繪圖基礎、基礎圖表技術、擴展圖表技術、基於Cewolf組件的圖表編程、Prototype框架、jQuery框架、Dojo框架、Struts2框架套用、Struts2框架標籤套用、Hibernate框架基礎、Hibernate高級話題、Spring框架基礎、Spring的 Web MVC 框架、網站性能最佳化與安全策略、設計模式與架構、網站設計與網頁配色、Java Web典型項目開發案例等。配書光碟附帶了實例的源程式。
《Java Web開發實例大全(提高卷)》既適合Java Web程式設計師參考和查閱,也適合Java Web初學者,如高校學生、軟體開發培訓學員及相關求職人員學習、練習、速查使用。
圖書目錄
第1篇 流行組件套用篇
第1章 操作XML檔案 2
1.1 XML基礎操作 3
實例001 CSS格式化XML布局 3
實例002 CSS改變XML中滑鼠指針形狀 5
實例003 CSS在XML中添加背景圖 7
實例004 CSS製作XML表格 8
實例005 XML中提取節點字元串值 10
實例006 在XML內部定義DTD 12
實例007 在XML外部引用DTD 14
實例008 驗證XML是否符合DTD的定義 15
實例009 在DTD中聲明元素 16
實例010 在DTD中聲明重複元素 17
實例011 在DTD中聲明選擇性元素 19
實例012 在DTD中使用ENTITY 20
1.2 套用XML Schema 21
實例013 驗證XML是否符合Schema的描述 21
實例014 XSD文檔根元素的引用 24
實例015 在XSD中設定元素的出現順序 25
實例016 在XSD中使用擴展數據類型 26
實例017 在XSD中使用元素的條理化 29
實例018 XSD中的多屬性打包 30
實例019 XSD中對元素的限定 32
實例020 在XSD中使用取值範圍的限定 34
實例021 在XSD中聲明元素屬性 36
實例022 在XSD中對字元進行限制 38
實例023 在XSD中對數值進行限制 39
1.3 XML解析 41
實例024 使用DOM組件從檔案中讀取XML 41
實例025 使用DOM組件從數據流中讀取XML 42
實例026 使用JDOM組件從檔案中讀取XML 44
實例027 使用JDOM組件讀取XML 45
實例028 使用SAX組件從檔案中讀取XML 48
實例029 使用SAX組件從數據流中讀取XML 50
實例030 使用DOM組件解析XML元素名稱 51
實例031 使用DOM組件解析XML元素名稱和
內容 53
實例032 使用SAX組件解析XML元素名稱 56
實例033 使用SAX組件解析XML元素名稱和內容 57
實例034 使用SAX組件解析XML元素屬性和
屬性值 61
實例035 使用DOM組件解析XML元素屬性和
屬性值 63
實例036 使用SAX驗證DTD 65
實例037 使用dom4j解析XML檔案 67
第2章 傳送與接收郵件 70
2.1 配置郵件伺服器 71
實例038 在Windows Server 2003系統下安裝和
配置郵件伺服器 71
實例039 配置開源郵件伺服器Apache James Server 73
實例040 安裝和配置Magic Winmail郵件伺服器 74
2.2 套用JavaMail組件傳送郵件 76
實例041 傳送普通格式的郵件 77
實例042 傳送HTML格式的郵件 79
實例043 傳送帶附屬檔案的郵件 81
實例044 群發普通郵件 83
實例045 群發HTML格式的郵件 85
實例046 群髮帶附屬檔案的郵件 86
實例047 通過信箱激活用戶的註冊 87
2.3 套用JavaMail組件接收郵件 90
實例048 套用POP3協定接收未讀郵件和已讀郵件 90
實例049 套用POP3協定接收帶附屬檔案的郵件 95
實例050 套用IMAP協定接收未讀郵件和已讀郵件 101
實例051 套用IMAP協定接收帶附屬檔案的郵件 104
2.4 套用Apache commons-email組件
傳送郵件 107
實例052 傳送普通格式的郵件 107
實例053 傳送帶多個附屬檔案的郵件 109
實例054 群發普通郵件 111
實例055 群發HTML格式的郵件 112
實例056 群髮帶附屬檔案的郵件 113
實例057 通過信箱激活用戶的註冊 114
2.5 套用Spring的E-mail抽象層傳送郵件 117
實例058 傳送普通文本郵件 117
實例059 傳送HTML格式的郵件 119
實例060 傳送帶附屬檔案的郵件 122
實例061 群發普通文本郵件 124
第2篇 資料庫套用篇
第3章 資料庫操作技術 128
3.1 建立Connection資料庫連線 129
實例062 建立Access資料庫連線 129
實例063 建立與MySQL資料庫的連線 130
實例064 建立與SQL Server 2000資料庫的連線 131
實例065 建立與SQL Server 2005資料庫的連線 132
實例066 建立與Oracle資料庫的連線 133
實例067 建立與Java DB資料庫的連線 134
3.2 資料庫與數據表 135
實例068 列舉SQL Server資料庫中的數據表 135
實例069 列舉MySQL資料庫中的數據表 136
實例070 查看數據表結構 137
實例071 動態維護投票資料庫 138
實例072 SQL Server資料庫的備份 141
實例073 SQL Server資料庫的恢復 144
實例074 MySQL資料庫的備份 147
實例075 MySQL資料庫的恢復 149
3.3 資料庫的添加、刪除與更新操作 150
實例076 將員工信息添加到員工表 150
實例077 在添加數據時進行數據驗證 151
實例078 插入用戶登錄日誌信息 152
實例079 生成有規律的編號 153
實例080 生成沒有規律的編號 155
實例081 在插入數據時過濾危險字元 156
實例082 將用戶選擇的愛好信息以字元串形式
保存到資料庫 157
實例083 實現跨資料庫的表內容複製 158
實例084 使用UNION ALL語句批量插入數據 158
實例085 更新指定記錄 159
實例086 將數據表清空 161
第4章 SQL語句套用技術 162
4.1 聚集函式與日期查詢 163
實例087 利用SUM函式實現數據匯總 163
實例088 利用AVG函式實現計算平均值 164
實例089 利用MIN函式求數據表中的最小數據 165
實例090 利用MAX函式求數據表中的最大值 166
實例091 利用COUNT函式求銷售額大於某值的
圖書種類 167
實例092 查詢與張靜同一天入司的員工信息 168
實例093 使用IN謂詞查詢某幾個時間的數據 169
實例094 對數據進行降序排序查詢 171
實例095 數據的多條件排序查詢 172
實例096 對統計結果進行排序 173
實例097 查詢SQL Server數據表中的前3條數據 176
實例098 查詢SQL Server數據表中的後3條數據 177
實例099 查詢MySQL數據表中的前3條數據 178
實例100 查詢MySQL數據表中的後3條數據 179
4.2 排序與分組函式的套用 180
實例101 按照字母順序對留學生表進行排序 180
實例102 按姓氏筆畫排序 182
實例103 將漢字按音序排序 183
實例104 按列的編號排序 184
實例105 從表中隨機返回記錄 185
實例106 使用GROUP BY子句實現數據的
分組統計 186
實例107 利用GROUP BY子句實現多表分組
統計 187
4.3 比較大小與邏輯套用 189
實例108 在查詢結果中不顯示重複記錄 189
實例109 使用NOT查詢不滿足條件的記錄 190
實例110 使用BETWEEN進行區間查詢 192
實例111 使用關係運算符查詢某一時間段的
數據 193
實例112 計算兩個日期間的月份數 194
第5章 複雜查詢技術 196
5.1 使用子查詢 197
實例113 將子查詢作為表達式 197
實例114 用子查詢作為派生表 198
實例115 通過子查詢關聯數據 199
實例116 使用IN謂詞限定查詢範圍 200
實例117 使用NOT IN子查詢實現差集運算 202
實例118 使用NOT IN子查詢實現反向查詢 203
實例119 實現笛卡兒乘積查詢 204
實例120 比較運算符引入子查詢 205
實例121 在查詢中使用聚合函式 206
實例122 在刪除數據時使用子查詢 207
5.2 多表連線查詢 208
實例123 使用UNION運算符使學生檔案歸檔 208
實例124 內連線查詢指定課程的教師信息 209
實例125 左外連線查詢員工信息 210
實例126 右外連線查詢員工信息 212
實例127 多表外連線查詢 213
實例128 完全連線查詢 214
5.3 嵌套查詢 215
實例129 查詢平均成績在85分以上的學生信息 215
實例130 多表統計本科學歷部門經理的月收入
情況 216
實例131 在嵌套中使用EXISTS關鍵字 217
實例132 動態指定查詢條件 218
5.4 常見謂詞的使用 219
實例133 套用PATINDEX謂詞進行模糊查詢 219
實例134 在查詢中使用四捨五入謂詞ROUND 220
實例135 查詢比質量部所有員工工資都高的
員工信息 221
實例136 查詢工資高於質量部任意一名員工的
員工信息 222
實例137 套用UNION謂詞消除重複的行 223
實例138 套用UNION ALL謂詞保留重複行 224
實例139 查詢各商品銷售額所占的百分比 225
第6章 資料庫高級套用 227
6.1 在Java Web程式中調用存儲過程 228
實例140 調用存儲過程實現用戶身份的驗證 228
實例141 調用存儲過程添加數據 229
實例142 調用加密存儲過程 230
實例143 獲取資料庫中所有存儲過程 231
實例144 修改存儲過程 233
實例145 刪除存儲過程 234
6.2 使用觸發器 235
實例146 套用觸發器添加日誌信息 235
實例147 套用觸發器級聯刪除數據 237
實例148 調用UPDATE觸發器修改數據 238
實例149 獲取資料庫中所有觸發器名稱 240
實例150 創建帶有觸發條件的觸發器 240
6.3 使用批處理 242
實例151 使用批處理刪除數據 242
實例152 批量提高員工工資 245
實例153 將教師表中數據全部添加到選課表 246
實例154 在批處理中使用事務 248
6.4 使用視圖 249
實例155 通過Java Web程式創建視圖 249
實例156 套用視圖查詢數據 252
實例157 使用視圖計算數據 253
實例158 使用視圖格式化檢索出來的數據 254
實例159 獲取資料庫中的全部用戶視圖 255
實例160 修改視圖 256
實例161 刪除視圖 257
第3篇 圖表統計篇
第7章 JFreeChart繪圖基礎 262
7.1 圖表的基礎 263
實例162 基本餅圖 263
實例163 顯示圖例 265
實例164 工具列提示 266
實例165 亂碼問題 267
實例166 顯示數值 269
實例167 抗鋸齒設定 270
7.2 設定圖表的背景 272
實例168 設定背景圖 272
實例169 設定背景圖片透明度 273
實例170 設定背景色 275
7.3 處理圖表的框線 276
實例171 隱藏圖表框線 276
實例172 圖表框線顏色和筆觸 277
7.4 修改圖表的圖例 279
實例173 設定圖例背景色 279
實例174 設定圖例框線 280
實例175 設定圖例邊緣間距 281
實例176 設定圖例字型顏色 283
實例177 設定圖例位置 284
第8章 基礎圖表技術 286
8.1 普通餅圖 287
實例178 分離餅圖 287
實例179 橢圓形餅圖 288
實例180 餅圖的陰影 289
實例181 加粗餅圖分類框線 290
實例182 設定餅圖顏色 291
實例183 餅圖旋轉角度和順序 293
實例184 隱藏分類標籤連線線 294
8.2 3D餅圖 296
實例185 創建3D餅圖 296
實例186 3D餅圖透明度 297
實例187 3D餅圖的Z軸 298
8.3 多餅圖 299
實例188 實現多餅圖 299
實例189 多餅圖亂碼 301
實例190 3D多餅圖 303
8.4 基本柱形圖 304
實例191 簡單柱形圖 304
實例192 柱形圖角度 306
實例193 柱形圖負值 308
8.5 X坐標軸 309
實例194 X軸字型 309
實例195 X軸標籤字型 310
實例196 X軸標籤角度 312
實例197 X軸尺度線顏色 314
實例198 隱藏X軸尺度線 315
實例199 X軸尺度線筆觸 317
實例200 X軸尺度標籤 319
實例201 X軸分類的間距 320
實例202 X軸分類與原點的間距 322
實例203 X軸的顯示位置 323
8.6 Y坐標軸 325
實例204 Y軸字型 325
實例205 Y軸標籤字型 326
實例206 Y軸顯示情況 328
實例207 Y軸尺度線顏色和筆觸 329
實例208 隱藏Y軸尺度線 331
實例209 Y軸尺度標籤角度 333
實例210 Y軸起始值 334
實例211 Y軸箭頭 335
實例212 隱藏Y軸主要刻度線 337
實例213 Y軸主要刻度線長度 338
實例214 設定Y軸最大值 340
實例215 設定Y軸數據範圍 341
實例216 Y軸的顯示位置 343
8.7 高級柱形圖 344
實例217 設定格線豎線 344
實例218 設定格線豎線顏色 346
實例219 設定柱形圖文本註解 347
實例220 設定柱形圖文本註解字型 349
實例221 設定柱形圖文本註解錨點 351
實例222 設定柱形圖文本註解的類別錨點 352
實例223 設定柱形圖文本註解的旋轉錨點 354
實例224 設定柱形圖線條註解 356
實例225 繪製柱形效果 357
實例226 柱形圖陰影 359
實例227 柱形圖陰影偏移 360
實例228 設定柱形的顏色 362
實例229 繪製3D柱形圖 363
實例230 標記柱形圖區間 365
實例231 多系列柱形圖 367
實例232 多系列3D柱形圖 369
第9章 擴展圖表技術 371
9.1 區域圖 372
實例233 基本區域圖 372
實例234 顯示多分類區域圖 373
實例235 設定區域圖透明度 375
實例236 添加說明文字 377
實例237 設定說明文字位置 379
實例238 設定區域圖X軸顯示位置 381
實例239 設定區域圖X軸標籤角度 383
實例240 設定區域圖X軸尺度標籤角度 385
實例241 設定區域顏色 386
9.2 折線圖 388
實例242 創建基本折線圖 388
實例243 創建多條折線圖 390
實例244 創建水平折線圖 392
實例245 隱藏折線圖中指定系列的折線 394
實例246 加粗折線 395
實例247 顯示折線節點 397
實例248 生成節點圖 399
實例249 繪製虛線折線圖 401
實例250 設定折線顏色 403
實例251 3D折線圖 404
實例252 XY折線圖 407
實例253 排序折線圖 409
9.3 時序圖 410
實例254 基本時序圖 410
實例255 設定時間顯示格式 412
實例256 添加雙時間軸 414
實例257 設定雙時間軸位置 415
實例258 動態顯示十字標記 417
實例259 添加Y軸標記 419
實例260 添加X軸標記 421
實例261 設定刻度單位 422
實例262 設定時間軸範圍 424
9.4 聯合分類圖 425
實例263 生成線形圖與柱形圖 425
實例264 設定圖表高度 427
實例265 設定圖表位置 429
9.5 圖表的綜合套用 431
實例266 利用餅圖分析不同程式語言的市場
占有率 431
實例267 利用柱形圖顯示某Ajax網站不同框架的
年下載量 433
實例268 利用折線圖分析不同城市氣溫變化
情況 434
實例269 利用區域圖分析不同學生的成績變化 435
實例270 利用時序圖分析股票價格走勢 436
實例271 利用時序圖分析2009年國際原油價格
走勢 438
實例272 利用組合圖表分析學生零用錢收支
情況 439
第10章 基於Cewolf組件的圖表編程 442
10.1 生成基於DefaultCategoryDataset
數據集的圖表 443
實例273 生成水平直方圖 443
實例274 生成水平堆疊圖 445
實例275 繪製3D垂直直方圖 447
實例276 生成垂直堆疊圖 448
實例277 生成區域圖 449
10.2 繪製餅狀圖表 450
實例278 生成普通餅圖 450
實例279 生成3D餅圖 452
10.3 繪製基於XYDataset數據集的圖表 453
實例280 生成線段圖(折線圖) 453
實例281 生成區域圖 455
實例282 生成散列圖 456
實例283 生成時序圖 457
實例284 生成直方圖 459
10.4 繪製基於OHLCDataset數據集的
圖表 460
實例285 生成K線圖 460
實例286 生成高低圖(HighLow) 462
10.5 生成組合圖表 463
實例287 生成水平組合圖表 463
實例288 生成垂直組合圖表 465
10.6 繪製其他類型的圖表 466
實例289 生成甘特圖 466
實例290 生成羅盤圖 468
實例291 生成速度圖 469
10.7 綜合圖表的套用 471
實例292 利用柱形圖對比不同城市的房價 471
實例293 利用餅圖顯示投票結果 472
實例294 利用折線圖分析某城市蔬菜價格走勢 474
實例295 利用區域圖對比分析員工業績 475
實例296 利用時序圖分析商品月銷售收益 477
實例297 利用組合圖表分析國際原油價格走勢 479
第4篇 Ajax框架套用篇
第11章 Prototype框架 482
11.1 使用Prototype基本函式 483
實例298 使用$()函式獲取頁面元素 483
實例299 使用$A()函式實現將參數轉換為數組 484
實例300 使用$F()函式獲取表單輸入控制項的值 485
實例301 使用Try.these()函式獲取返回值 486
11.2 Prototype自定義對象和類 487
實例302 在HTML元素中增加CSS樣式 487
實例303 利用Enumerable對象在頁面中顯示
數組元素 488
實例304 使用Field對象操作表單域 490
實例305 通過Form對象使表單元素失效 491
實例306 使用Form.Element對象返回特定表
單域的值 493
11.3 對Ajax的支持 494
實例307 Ajax.Request對象傳送請求 494
實例308 註冊全局的事件處理器 495
實例309 定時刷新時間 497
第12章 jQuery框架 499
12.1 DOM技術 500
實例310 獲取文本框中的文本 500
實例311 利用jQuery實現查找節點 502
實例312 動態為表格追加樣式 503
實例313 動態為表格移除樣式 504
實例314 實現表格的樣式切換 506
12.2 表單處理 507
實例315 實現表單文本域的放大和縮小 507
實例316 實現複選框的全選與反選 508
實例317 列表框的綜合套用 509
實例318 實現表單驗證 511
實例319 密碼強度檢測 512
實例320 文本框提示標籤 513
12.3 操作表格 514
實例321 表格隔行變色 514
實例322 通過單選按鈕控制表格的行高亮顯示 515
實例323 通過複選框控制表格的行高亮顯示 517
實例324 表格的展開與關閉 518
實例325 利用文本框的值實現對表格內容的篩選 519
12.4 其他特效 520
實例326 製作網頁選項卡 520
實例327 日期拾取器 521
實例328 網頁軟鍵盤 522
實例329 圖片幻燈片 523
實例330 顏色拾取器 524
實例331 廣告輪顯 525
實例332 圖片放大鏡 527
實例333 文本編輯器 528
實例334 右鍵選單 529
實例335 結合jQuery實現線上裁剪 531
12.5 對Ajax的支持 534
實例336 檢測用戶名是否被占用 534
實例337 驗證用戶登錄 536
實例338 基於jQuery的Ajax聊天室 538
第13章 Dojo框架 540
13.1 Dojo的常用Widget 541
實例339 實現網頁按鈕 541
實例340 實現網頁對話框 542
實例341 實現日曆功能 544
實例342 實現網頁的多頁面 545
13.2 Dojo的基本套用 546
實例343 滑鼠單擊事件處理 546
實例344 訪問被監聽方法的參數 548
實例345 頁面HTML元素的任意移動 549
實例346 頁面元素的相對移動 550
實例347 帶手柄的移動 552
13.3 Dojo對Ajax的支持 553
實例348 基本請求的傳送 553
實例349 請求佇列的傳送 555
實例350 對象的字元串化 556
實例351 表單請求傳送 558
第5篇 流行框架篇
第14章 Struts2框架套用 562
14.1 Struts2的基本配置與零配置 563
實例352 成績統計器 563
實例353 成績排序 564
實例354 用戶的直接登錄 566
實例355 實現用戶的中間退出 567
14.2 Struts2數據校驗與攔截器 568
實例356 日期轉換器 568
實例357 實現空表單信息的提示 569
實例358 計時攔截器 571
實例359 等待攔截器 571
實例360 許可權驗證攔截器 572
14.3 檔案上傳與下載 574
實例361 單檔案的上傳 574
實例362 上傳錯誤信息的提示 575
實例363 特定檔案格式的上傳 576
實例364 限定上傳檔案的大小 577
實例365 多檔案的上傳 577
實例366 檔案下載 579
14.4 Struts2對Ajax的支持 580
實例367 調試信息的輸出 580
實例368 數據校驗錯誤信息的輸出 581
實例369 Action中錯誤信息的輸出 582
實例370 顯示Action的信息 582
實例371 顯示新聞列表 583
實例372 頁面的自動刷新 584
實例373 訪問註冊頁面出錯 585
實例374 無刷新實現登錄 586
實例375 無刷新實現註銷 587
實例376 實現標籤頁 588
實例377 調試信息的輸出 589
實例378 數據的樹狀輸出 590
實例379 檔案的樹狀顯示 591
實例380 動態載入數據 592
第15章 Struts2框架標籤套用 595
15.1 OGNL語言 596
實例381 訪問OGNL上下文 596
實例382 訪問ActionContext資源 597
實例383 用“#”過濾篩選集合 598
實例384 用“#”構造Map 600
實例385 獲取Request的account屬性 600
實例386 在資源檔案中引用OGNL 601
實例387 在struts.xml中引用OGNL 602
15.2 控制標籤 603
實例388 判斷用戶是否存在 603
實例389 用戶不存在的提示 604
實例390 簡單的計算器 605
實例391 多集合的連線 606
實例392 字元串的分割 607
實例393 集合的混合合併 608
實例394 篩選集合元素 609
15.3 數據標籤 610
實例395 Action頁面的引入 610
實例396 JavaBean的引用 611
實例397 頁面日期的輸出 613
實例398 頁面日期的格式化輸出 614
實例399 計算日期的時間差 614
實例400 聲明資源的國際化 616
實例401 JSP頁面的引入 617
實例402 頁面間數據的傳遞 618
實例403 頁面數據的設定 619
實例404 變數值的頁面輸出 620
15.4 表單標籤 621
實例405 表單的輸出 621
實例406 用戶名的填寫 622
實例407 簡單的用戶登錄頁面 623
實例408 本地檔案的瀏覽 624
實例409 數據的默認選擇 624
實例410 頁面中單選按鈕的實現 625
實例411 實現表單的提交 626
實例412 實現下拉列表框 627
實例413 具有自動完成功能的下拉列表框 628
實例414 使用動態數據的下拉列表框 629
實例415 複選框的實現 630
實例416 實現可填寫的複合框 630
實例417 日期選擇器 631
實例418 聯動選擇框 632
實例419 多級數據選擇框 633
第16章 Hibernate框架基礎 634
16.1 操作實體對象 635
實例420 將實體對象保存到資料庫 635
實例421 更新實體對象 638
實例422 刪除數據 640
實例423 批量添加數據 642
實例424 採用一對一關聯添加數據 645
實例425 採用一對多關聯添加數據 647
16.2 HQL與QBC檢索方式 649
實例426 分組統計 649
實例427 利用統計函式SUM求銷售總額 650
實例428 利用統計函式AVG求某班學生的
平均成績 652
實例429 利用統計函式COUNT統計當前註冊
用戶人數 654
實例430 利用HQL查詢圖書表中的所有數據 655
實例431 利用HQL查詢滿足指定條件的數據 656
實例432 HQL綁定參數查詢 658
實例433 只返回一個檢索對象 660
實例434 限制返回結果的範圍 661
實例435 分頁查詢數據 663
實例436 利用QBC檢索欄位為空的記錄 665
實例437 利用QBC檢索不滿足指定條件的記錄 666
實例438 QBC忽略大小寫查詢 668
實例439 利用QBC查詢滿足指定範圍的所有
記錄 669
實例440 利用HQL實現模糊查詢 671
實例441 利用QBC實現模糊查詢 672
實例442 HQL在查詢中使用統計函式 673
實例443 利用HQL實現投影查詢 674
實例444 QBC實現將查詢結果排序 675
實例445 HQL內連線查詢商品信息 676
第17章 Hibernate高級話題 678
17.1 關聯映射 679
實例446 關聯映射實現級聯保存與更新 679
實例447 建立商品表與商品類型表的雙向關聯 680
實例448 實現商品表的自關聯 682
實例449 在持久化類方法中加入程式代碼 683
實例450 主鍵關聯映射 684
實例451 外鍵關聯映射 686
實例452 多對多單向關聯映射學生表與科目表 688
實例453 多對多雙向關聯映射學生表與科目表 689
17.2 Hibernate檢索策略 691
實例454 一對多的立即檢索策略 691
實例455 多對一的立即檢索策略 692
實例456 一對多的延遲檢索策略 693
實例457 迫切左外連線查詢 695
17.3 Hibernate集合映射與事務套用 696
實例458 通過映射Set集合實現添加數據 696
實例459 通過映射List集合實現添加數據 698
實例460 通過映射Map集合實現添加數據 699
實例461 事務回滾的套用 700
實例462 配置持久化類實現樂觀鎖的使用 701
第18章 Spring框架基礎 704
18.1 Spring的依賴注入 705
實例463 套用Setter注入法實現Bean的注入 705
實例464 套用構造器注入法實現Bean的注入 706
實例465 套用@Autowired註解實現Bean的
注入 708
實例466 套用@Resource註解實現Bean的注入 710
實例467 零配置實現Bean的注入 711
實例468 為JavaBean的集合對象注入屬性值 713
實例469 使用<prop>標籤為Java持久屬性集
注入值 715
實例470 按照Bean的名稱自動裝配User 716
實例471 按照Bean的類型自動裝配User 717
實例472 配置Bean的延遲初始化 717
實例473 通過<beans>設定統一的延遲初始化
行為 718
實例474 自定義MyDateEditor編輯器實現類型
轉換 719
實例475 驗證用戶登錄 720
18.2 Spring的事務管理 722
實例476 套用編程式事務管理向用戶信息表
插入數據 722
實例477 套用編程式事務管理向學生信息表
插入數據 725
18.3 Spring的面向切面編程 726
實例478 利用Spring AOP使日誌輸出與方法
分離 726
實例479 Spring AOP實現用戶註冊 728
18.4 Spring的持久化 730
實例480 在Spring中利用DAO模式添加數據 730
實例481 利用JdbcTemplate向員工信息表添加
數據 732
實例482 利用JdbcTemplate查詢員工信息表 734
實例483 利用JdbcTemplate更新指定員工信息 735
實例484 使用JdbcTemplate調用存儲過程查詢
商品 738
實例485 使用SimpleJdbcTemplate添加圖書
信息 740
實例486 使用SimpleJdbcTemplate查詢指定圖書
信息 741
實例487 在Spring中配置DBCP資料庫連線池 743
實例488 在Spring中使用占位符配置數據源 744
實例489 使用destroy-method處理數據源 746
實例490 Spring分頁顯示圖書信息 747
實例491 整合Spring和Hibernate添加員工信息 749
實例492 整合Spring和Hibernate批量添加
用戶信息 751
18.5 在Spring中生成非HTML輸出 753
實例493 利用Spring將學生信息導出到Excel
工作表 753
實例494 利用Spring將圖書信息導出到PDF
檔案 756
18.6 Spring檔案上傳與國際化 757
實例495 利用Spring實現檔案的上傳 757
實例496 利用Spring實現用戶登錄頁面的國際化 760
第19章 Spring的Web MVC框架 761
19.1 Spring的控制器 762
實例497 使用簡單控制器獲取表單數據 762
實例498 參數映射控制器映射JSP頁面 764
實例499 檔案名稱映射控制器映射JSP頁面 765
實例500 命令控制器獲取URL中的參數查詢
信息 767
實例501 利用表單控制器向圖書信息表中添加
數據 769
實例502 利用表單控制器驗證用戶登錄 772
實例503 利用多動作控制器跳轉到不同頁面 774
實例504 利用嚮導控制器實現用戶註冊 775
實例505 利用多動作控制器操作員工信息表的
數據 778
19.2 線上通訊錄 780
實例506 添加新聯繫人 780
實例507 修改聯繫人信息 783
實例508 刪除聯繫人 785
實例509 查詢通訊錄中的信息 786
19.3 圖書信息管理 787
實例510 添加圖書信息 787
實例511 修改圖書信息 789
實例512 刪除圖書信息 790
實例513 查詢圖書信息 791
第6篇 網站安全與架構模式篇
第20章 網站性能最佳化與安全策略 794
20.1 檔案保護 795
實例514 防止用戶直接輸入地址訪問JSP檔案 795
實例515 防止頁面重複提交 797
實例516 對查詢字元串進行URL編碼 800
實例517 過濾非法字元 801
實例518 禁止用戶輸入敏感字元 803
20.2 漏洞防護與數據加密 804
實例519 檔案上傳漏洞 804
實例520 防止資源被盜鏈下載 808
實例521 對登錄密碼進行加密 809
實例522 字元串加密 812
實例523 MD5加密註冊用戶名和密碼 814
20.3 獲取客戶端信息 816
實例524 確定對方的IP位址 816
實例525 獲取客戶端TCP/IP連線埠的方法 817
實例526 確定對方的瀏覽器信息 819
實例527 確定對方瀏覽器可接收信息的類型 819
第21章 設計模式與架構 821
21.1 接口型模式 822
實例528 適配器模式 822
實例529 外觀模式 823
實例530 組合模式 826
實例531 橋接模式 828
21.2 責任型模式 831
實例532 單例模式 831
實例533 建造者模式 833
實例534 中介者模式 836
實例535 責任鏈模式 838
實例536 享元模式 841
實例537 代理模式 843
21.3 構造型模式 844
實例538 裝飾模式 844
實例539 工廠方法模式 846
實例540 抽象工廠模式 849
實例541 原型模式 851
實例542 備忘錄模式 853
21.4 行為型模式 855
實例543 命令模式 855
實例544 解釋器模式 857
實例545 疊代器模式 859
實例546 觀察者模式 861
實例547 狀態模式 864
實例548 策略模式 866
實例549 模板方法模式 868
實例550 訪問者模式 870
21.5 網站開發架構模式 872
實例551 MVC框架在聯繫人管理網站中的
套用 872
實例552 套用MVC架構開發簡單計算器 876
第7篇 綜合套用篇
第22章 網站設計與網頁配色 882
22.1 企業網站 883
實例553 汽車銷售網 883
實例554 醫藥連鎖網 884
實例555 硬體產品網 885
實例556 軟體產品網 886
實例557 物流網 887
實例558 賓館酒店網 888
22.2 電子商務類 889
實例559 B2C電子商務網 889
實例560 B2B電子商務網 890
22.3 搜尋引擎類 891
實例561 站內搜尋引擎 891
實例562 網際網路搜尋引擎 892
22.4 生活資訊類 893
實例563 家居銷售網 894
實例564 房地產信息網 895
22.5 娛樂類網站 896
實例565 音樂網 896
實例566 電影網 897
實例567 遊戲門戶網 899
22.6 供求信息類 900
實例568 人才供求網 900
實例569 二手商品供求網 901
22.7 其他套用 902
實例570 個人主頁 902
實例571 美食網 904
實例572 部落格網站 905
第23章 Java Web典型項目開發案例 906
23.1 Ajax聊天室 907
實例573 實時獲取並顯示線上人員列表 907
實例574 實現用戶發言 909
實例575 實時顯示聊天內容 912
實例576 安全退出聊天室 915
23.2 部落格網核心模組開發 917
實例577 註冊自己的部落格 917
實例578 根據域名訪問部落格 919
實例579 推薦部落格設定 920
實例580 文章瀏覽操作 922
23.3 線上投票統計功能 924
實例581 實現投票功能 924
實例582 實現柱形圖統計功能 925
實例583 實現餅圖統計功能 928
實例584 雙擊滑鼠展開圖片 930
23.4 B2C電子商務網站 931
實例585 添加商品到購物車 931
實例586 查看購物車 933
實例587 修改商品數量 935
實例588 生成訂單 936
23.5 線上音樂 939
實例589 試聽歌曲並同步顯示歌詞 939
實例590 添加歌曲 941
實例591 以順序和隨機方式進行歌曲連播 942
23.6 校內數碼相冊 946
實例592 以幻燈片方式播放數碼相片 946
實例593 創建相冊分類並上傳相片 947
實例594 瀏覽和管理上傳相片 949
實例595 數碼相冊分類管理 952
23.7 仿百度知道之明日知道 955
實例596 線上提問 955
實例597 問題回復 957
實例598 修改問題 958
實例599 關閉提出的問題 959
實例600 搜尋問題 960
Java Web開發實例大全(提高卷)
目 錄
XIV
XV