Java Web開發實戰1200例(第Ⅱ卷)

Java Web開發實戰1200例(第Ⅱ卷)

本書以開發人員在項目開發中經常遇到的問題和必須掌握的技術為中心,介紹了套用java web進行程式開發的各個方面的知識和技巧,主要包括java web編程基礎、檔案操作管理、圖形圖像與多媒體技術、窗體套用技術、jsp操作word與excel等。全書分6篇23章,總計600個實例和600個經驗技巧。每個實例都是經過作者精心篩選的,具有很強的實用性,其中一些實例是開發人員難於尋覓的解決方案。

內容簡介

Java Web開發實戰1200例(第Ⅱ卷) Java Web開發實戰1200例(第Ⅱ卷)

本書以開發人員在項目開發中經常遇到的問題和必須掌握的技術為核心,介紹了套用Java Web進行程式開發的各個方面的知識和技巧,主要內容包括流行組件套用、資料庫套用、圖表統計、Ajax框架套用、流行框架、網站安全與架構模式、綜合套用等。全書分為7篇23章,總計600個實例,並附帶600個技巧。書中每個實例都是作者精心篩選的,具有很強的實用性,其中一些實例是開發人員難於尋覓的解決方案。本書附帶有配套DVD光碟,光碟中提供有書中全部實例的原始碼,這些原始碼都是經過作者精心調試通過的,保證能夠在Windows XP、Windows 2003及Windows 7作業系統下編譯和運行。

本書非常適合Java Web項目開發人員、Java Web初學者及編程愛好者使用,同時也可以作為培訓機構、大中專院校老師和學生的實踐參考用書。

前言

前 言

特別說明:

《Java Web開發實戰1200例》包括第I卷、第II卷總計1200個例子,本書是第II卷,包含600個例子。

程式開發是一項艱辛的工作,不僅考驗著開發人員的智力,更考驗著開發人員的體力。縱觀國內的軟體企業,內部開發團隊挑燈夜戰、連續加班是常有的事情。筆者曾“有幸”參加過十幾個項目的開發工作,對編程有深刻的體會。編程是一項複雜的創造性工作,它不僅需要開發人員掌握各方面的知識,還需要開發人員積累豐富的開發經驗。項目開發中的一個問題可能會占用團隊幾天甚至十幾天的時間,但是如果開發人員遇到過類似的問題,也許幾分鐘就可以解決。這就體現了編程經驗的重要性,也是許多軟體企業用人時選擇有項目開發經驗人員的主要原因。

本書作者精選了項目開發中的600個實例,涵蓋了操作XML檔案、傳送與接收郵件、資料庫操作技術、SQL語句套用技術、複雜查詢技術、資料庫高級套用、JFreeChart繪圖基礎、基礎圖表技術、擴展圖表技術、基於Cewolf組件的圖表編程、Prototype框架、jQuery框架、Dojo框架、Struts2框架套用、Struts2框架標籤套用、Hibernate框架基礎、Hibernate高級話題、Spring框架基礎、Spring的 Web MVC 框架、網站性能最佳化與安全策略、設計模式與架構、網站設計與網頁配色、Java Web典型項目開發案例等各方面的內容,每一個知識點下還提供了針對性強、實用性高的經驗技巧,幫助開發人員快速解決疑難問題。希望本書能夠成為編程人員身邊的必備參考書,為讀者學習編程和從事項目開發起到推波助瀾的作用。

本書內容

本書分為7篇23章,總計600個實例。所選實例均來源於一線開發人員的實際項目開發,囊括了開發中經常使用和需要解決的熱點、難點問題。通過本書的學習,讀者可以快速地解決開發中的難題,提高編程效率。本書亮點內容導航如下圖所示。

為了方便讀者學習書中實例,積累開發經驗,本書在講解實例時按照 “實例說明”、“關鍵技術”、“設計過程”和“秘笈心法”4個階段進行講解。

* 實例說明

實例說明部分利用圖文結合的方式,介紹實例的特點、功能和運行效果,使讀者可以快速了解實例的作用和從實例中可學到的技能。

* 關鍵技術

關鍵技術部分剖析了實例使用的核心技術。這樣,讀者在不必查看設計過程和原始碼的情況下就可以快速掌握實例關鍵技術,甚至直接做出實例。

* 設計過程

設計過程部分詳細介紹了實例的開發過程,讀者可以按照該部分內容做出自己的實例程式。

* 秘笈心法

秘笈心法部分給出了與實例相關的技巧、注意事項或經驗總結,豐富讀者的編程經驗。

下圖展示了一個實例文檔縮略圖。

本書特色

* 實例豐富,經驗超值

本書精選了600個實例和600條經驗技巧,涵蓋了編程多個方面的各種套用,用戶開發中所需的技術、技巧、解決方案幾乎都可找到。

* 易查、易學、易用

可以通過目錄查找任意實例的實例說明、關鍵技術、設計過程、秘笈心法等內容。

* 特點突出,功能完善,實用性強

書中所選實例均是項目開發中經常需要使用或實現的技術,有許多實例是開發人員夢寐以求的。

* 贈送所有實例源碼

書中所有實例均提供有原始碼,用戶在開發中可以快速借鑑或套用。

* 段落工整、簡潔,圖文結合,更容易學習

* 編碼規範,注釋詳盡

為了提高用戶的實際開發能力,書中代碼都是經過嚴格審查的,可以與商業源碼媲美。此外,為了方便用戶閱讀代碼,幾乎所有代碼都提供有詳細注釋。

超值DVD光碟

為了幫助讀者學習和使用書中的實例,本書附贈有DVD光碟,裡面不僅提供有書中所有實例項目的原始碼、素材,還提供了關鍵實例的開發視頻講解及Java Web學習資料。光碟目錄如下圖所示。

本書約定

* 實例使用方法

用戶在學習本書過程中,可以從光碟中複製實例,去掉實例的唯讀屬性。有些實例需要使用相應的資料庫或第三方資源,這些實例在使用前需要進行相應配置,詳細使用方法請參考本書光碟使用說明書。此外,如果用戶直接將本書實例用於商業用途,由此產生的不良後果由用戶自己承擔。

* 實例及錄像位置

書中實例在光碟中的存儲格式為“MR\章號\實例序號”。例如,“MR\11\267”表示實例267,位於第11章。

* 部分實例只給出關鍵代碼

由於篇幅有限,書中有些實例只給出了關鍵代碼,完整代碼參見配書光碟實例程式。

讀者人群

本書非常適合以下人員閱讀:

* 從事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元素名稱 52

實例031 使用DOM組件解析XML元素名稱和

內容 54

實例032 使用SAX組件解析XML元素名稱 56

實例033 使用SAX組件解析XML元素名稱和內容 58

實例034 使用SAX組件解析XML元素屬性和

屬性值 61

實例035 使用DOM組件解析XML元素屬性和

屬性值 62

實例036 使用SAX驗證DTD 64

實例037 使用dom4j解析XML檔案 66

第2章 傳送與接收郵件 69

2.1 配置郵件伺服器 70

實例038 在Windows Server 2003系統下安裝和

配置郵件伺服器 70

實例039 配置開源郵件伺服器Apache James Server 72

實例040 安裝和配置Magic Winmail郵件伺服器 73

2.2 套用JavaMail組件傳送郵件 75

實例041 傳送普通格式的郵件 76

實例042 傳送HTML格式的郵件 78

實例043 傳送帶附屬檔案的郵件 80

實例044 群發普通郵件 82

實例045 群發HTML格式的郵件 84

實例046 群髮帶附屬檔案的郵件 85

實例047 通過信箱激活用戶的註冊 86

2.3 套用JavaMail組件接收郵件 89

實例048 套用POP3協定接收未讀郵件和已讀郵件 89

實例049 套用POP3協定接收帶附屬檔案的郵件 94

實例050 套用IMAP協定接收未讀郵件和已讀郵件 100

實例051 套用IMAP協定接收帶附屬檔案的郵件 103

2.4 套用Apache commons-email組件

傳送郵件 106

實例052 傳送普通格式的郵件 106

實例053 傳送帶多個附屬檔案的郵件 108

實例054 群發普通郵件 110

實例055 群發HTML格式的郵件 111

實例056 群髮帶附屬檔案的郵件 112

實例057 通過信箱激活用戶的註冊 113

2.5 套用Spring的E-mail抽象層傳送郵件 116

實例058 傳送普通文本郵件 116

實例059 傳送HTML格式的郵件 118

實例060 傳送帶附屬檔案的郵件 121

實例061 群發普通文本郵件 123

第2篇 資料庫套用篇

第3章 資料庫操作技術 126

3.1 建立Connection資料庫連線 127

實例062 建立Access資料庫連線 127

實例063 建立與MySQL資料庫的連線 128

實例064 建立與SQL Server 2000資料庫的連線 129

實例065 建立與SQL Server 2005資料庫的連線 130

實例066 建立與Oracle資料庫的連線 131

實例067 建立與Java DB資料庫的連線 132

3.2 資料庫與數據表 133

實例068 列舉SQL Server資料庫中的數據表 133

實例069 列舉MySQL資料庫中的數據表 134

實例070 查看數據表結構 135

實例071 動態維護投票資料庫 136

實例072 SQL Server資料庫的備份 139

實例073 SQL Server資料庫的恢復 142

實例074 MySQL資料庫的備份 145

實例075 MySQL資料庫的恢復 147

3.3 資料庫的添加、刪除與更新操作 148

實例076 將員工信息添加到員工表 148

實例077 在添加數據時進行數據驗證 149

實例078 插入用戶登錄日誌信息 150

實例079 生成有規律的編號 151

實例080 生成沒有規律的編號 153

實例081 在插入數據時過濾掉危險字元 154

實例082 將用戶選擇的愛好信息以字元串形式

保存到資料庫 155

實例083 實現跨資料庫的表內容複製 156

實例084 使用UNION ALL語句批量插入數據 156

實例085 更新指定記錄 157

實例086 將數據表清空 159

第4章 SQL語句套用技術 160

4.1 聚集函式與日期查詢 161

實例087 利用SUM函式實現數據匯總 161

實例088 利用AVG函式實現計算平均值 162

實例089 利用MIN函式求數據表中的最小數據 163

實例090 套用MAX函式求數據表中的最大值 164

實例091 COUNT函式求銷售額大於某值的

圖書種類 165

實例092 查詢與張靜同一天入司的員工信息 166

實例093 使用IN謂詞查詢某幾個時間的數據 167

實例094 對數據進行降序排序查詢 169

實例095 數據的多條件排序查詢 170

實例096 對統計結果進行排序 171

實例097 查詢SQL Server數據表中的前3條數據 174

實例098 查詢SQL Server數據表中的後3條數據 175

實例099 查詢MySQL數據表中的前3條數據 176

實例100 查詢MySQL數據表中的後3條數據 177

4.2 排序與分組函式的套用 178

實例101 按照字母順序對留學生表進行排序 178

實例102 按姓氏筆畫排序 180

實例103 將漢字按音序排序 181

實例104 按列的編號排序 182

實例105 從表中隨機返回記錄 183

實例106 使用GROUP BY子句實現數據的

分組統計 184

實例107 利用GROUP BY函式實現多表分組

統計 185

4.3 比較大小與邏輯套用 187

實例108 在查詢結果中不顯示重複記錄 187

實例109 使用NOT查詢不滿足條件的記錄 188

實例110 使用BETWEEN進行區間查詢 190

實例111 使用關係運算符查詢某一時間段的

數據 191

實例112 計算兩個日期間的月份數 192

第5章 複雜查詢技術 194

5.1 使用子查詢 195

實例113 將子查詢作為表達式 195

實例114 用子查詢作為派生表 196

實例115 通過子查詢關聯數據 197

實例116 使用IN謂詞限定查詢範圍 198

實例117 使用NOT IN子查詢實現差集運算 200

實例118 使用NOT IN子查詢實現反向查詢 201

實例119 實現笛卡兒乘積查詢 202

實例120 比較運算符引入子查詢 203

實例121 在查詢中使用聚合函式 204

實例122 在刪除數據時使用子查詢 205

5.2 多表連線查詢 206

實例123 使用UNION運算符使學生檔案歸檔 206

實例124 內連線查詢指定課程的教師信息 207

實例125 左外連線查詢員工信息 208

實例126 右外連線查詢員工信息 210

實例127 多表外連線查詢 211

實例128 完全連線查詢 212

5.3 嵌套查詢 213

實例129 查詢平均成績在85分以上的學生信息 213

實例130 多表統計本科學歷部門經理的月收入

情況 214

實例131 在嵌套中使用exists關鍵字 215

實例132 動態指定查詢條件 216

5.4 常見謂詞的使用 217

實例133 套用patindex謂詞進行模糊查詢 217

實例134 在查詢中使用四捨五入謂詞ROUND 218

實例135 查詢比質量部所有員工工資都高的

員工信息 219

實例136 查詢工資高於質量部任意一名員工的

員工信息 220

實例137 套用UNION謂詞消除重複的行 221

實例138 套用UNION ALL謂詞保留重複行 222

實例139 查詢各商品銷售額所占的百分比 223

第6章 資料庫高級套用 225

6.1 在JavaWeb程式中調用存儲過程 226

實例140 調用存儲過程實現用戶身份的驗證 226

實例141 調用存儲過程添加數據 227

實例142 調用加密存儲過程 228

實例143 獲取資料庫中所有存儲過程 229

實例144 修改存儲過程 231

實例145 刪除存儲過程 232

6.2 使用觸發器 233

實例146 套用觸發器添加日誌信息 233

實例147 套用觸發器級聯刪除數據 235

實例148 調用UPDATE觸發器修改數據 236

實例149 獲取資料庫中所有觸發器名稱 238

實例150 創建帶有觸發條件的觸發器 238

6.3 使用批處理 240

實例151 使用批處理刪除數據 240

實例152 批量提高員工工資 243

實例153 將教師表中數據全部添加到選課表 244

實例154 在批處理中使用事務 246

6.4 使用視圖 247

實例155 通過Java Web程式創建視圖 247

實例156 套用視圖查詢數據 250

實例157 使用視圖計算數據 251

實例158 使用視圖格式化檢索出來的數據 252

實例159 獲取資料庫中的全部用戶視圖 253

實例160 修改視圖 254

實例161 刪除視圖 255

第3篇 圖表統計篇

第7章 JFreeChart繪圖基礎 260

7.1 圖表的基礎 261

實例162 基本餅圖 261

實例163 顯示圖例 263

實例164 工具列提示 264

實例165 亂碼問題 265

實例166 顯示數值 267

實例167 抗鋸齒設定 268

7.2 設定圖表的背景 270

實例168 設定背景圖 270

實例169 設定背景圖片透明度 271

實例170 設定背景色 273

7.3 處理圖表的框線 274

實例171 隱藏圖表框線 274

實例172 圖表框線顏色和筆觸 275

7.4 修改圖表的圖例 277

實例173 設定圖例背景色 277

實例174 設定圖例框線 278

實例175 設定圖例邊緣間距 279

實例176 設定圖例字型顏色 281

實例177 設定圖例位置 282

第8章 基礎圖表技術 284

8.1 普通餅圖 285

實例178 分離餅圖 285

實例179 橢圓形餅圖 286

實例180 餅圖的陰影 287

實例181 加粗餅圖分類框線 288

實例182 設定餅圖顏色 289

實例183 餅圖旋轉角度和順序 291

實例184 隱藏分類標籤連線線 292

8.2 3D餅圖 294

實例185 創建3D餅圖 294

實例186 3D餅圖透明度 295

實例187 3D餅圖的Z軸 296

8.3 多餅圖 297

實例188 實現多餅圖 297

實例189 多餅圖亂碼 299

實例190 3D多餅圖 301

8.4 基本柱形圖 302

實例191 簡單柱形圖 302

實例192 柱形圖角度 304

實例193 柱形圖負值 306

8.5 X坐標軸 307

實例194 X軸字型 307

實例195 X軸標籤字型 308

實例196 X軸標籤角度 310

實例197 X軸尺度線顏色 312

實例198 隱藏X軸尺度線 313

實例199 X軸尺度線筆觸 315

實例200 X軸尺度標籤 317

實例201 X軸分類的間距 318

實例202 X軸分類與原點的間距 320

實例203 X軸的顯示位置 321

8.6 Y坐標軸 323

實例204 Y軸字型 323

實例205 Y軸標籤字型 324

實例206 Y軸顯示情況 326

實例207 Y軸尺度線顏色和筆觸 327

實例208 隱藏Y軸尺度線 329

實例209 Y軸尺度標籤角度 331

實例210 Y軸起始值 332

實例211 Y軸箭頭 333

實例212 隱藏Y軸主要刻度線 335

實例213 Y軸主要刻度線長度 336

實例214 設定Y軸最大值 338

實例215 設定Y軸數據範圍 339

實例216 Y軸的顯示位置 341

8.7 高級柱形圖 342

實例217 設定格線豎線 342

實例218 設定格線豎線顏色 344

實例219 設定柱形圖文本註解 345

實例220 設定柱形圖文本註解字型 347

實例221 設定柱形圖文本註解錨點 349

實例222 設定柱形圖文本註解的類別錨點 350

實例223 設定柱形圖文本註解旋轉錨點 352

實例224 設定柱形圖線條註解 354

實例225 繪製柱形效果 355

實例226 柱形圖陰影 357

實例227 柱形圖陰影偏移 358

實例228 設定柱形的顏色 360

實例229 繪製3D柱形圖 361

實例230 標記柱形圖區間 363

實例231 多系列柱形圖 365

實例232 多系列3D柱形圖 367

第9章 擴展圖表技術 369

9.1 區域圖 370

實例233 基本區域圖 370

實例234 顯示多分類區域圖 371

實例235 設定區域圖透明度 373

實例236 添加說明文字 375

實例237 設定說明文字位置 377

實例238 設定區域圖X軸顯示位置 379

實例239 設定區域圖X軸標籤角度 381

實例240 設定區域圖X軸尺度標籤角度 383

實例241 設定區域顏色 384

9.2 折線圖 386

實例242 創建基本折線圖 386

實例243 創建多條折線圖 388

實例244 創建水平折線圖 390

實例245 隱藏折線圖中指定系列的折線 392

實例246 加粗折線 393

實例247 顯示折線節點 395

實例248 生成節點圖 397

實例249 繪製虛線折線圖 399

實例250 設定折線顏色 401

實例251 3D折線圖 402

實例252 XY折線圖 405

實例253 排序折線圖 407

9.3 時序圖 408

實例254 基本時序圖 408

實例255 設定時間顯示格式 410

實例256 添加雙時間軸 412

實例257 設定雙時間軸位置 413

實例258 動態顯示十字標記 415

實例259 添加Y軸標記 417

實例260 添加X軸標記 419

實例261 設定刻度單位 420

實例262 設定時間軸範圍 422

9.4 聯合分類圖 423

實例263 生成線形圖與柱形圖 423

實例264 設定圖表高度 425

實例265 設定圖表位置 427

9.5 圖表的綜合套用 429

實例266 利用餅圖分析不同程式語言的市場

占有率 429

實例267 利用柱形圖顯示某Ajax網站不同框架的

年下載量 431

實例268 利用折線圖分析不同城市氣溫變化

情況 432

實例269 利用區域圖分析不同學生的成績變化 433

實例270 利用時序圖分析股票價格走勢 434

實例271 利用時序圖分析2009年國際原油價格

走勢 436

實例272 利用組合圖表分析學生零用錢收支

情況 437

第10章 基於Cewolf組件的圖表編程 440

10.1 生成基於DefaultCategoryDataset

數據集的圖表 441

實例273 生成水平直方圖 441

實例274 生成水平堆疊圖 443

實例275 繪製3D垂直直方圖 445

實例276 生成垂直堆疊圖 446

實例277 生成區域圖 447

10.2 繪製餅狀圖表 448

實例278 生成普通餅圖 448

實例279 生成3D餅圖 450

10.3 繪製基於XYDataset數據集的圖表 451

實例280 生成線段圖(折線圖) 451

實例281 生成區域圖 453

實例282 生成散列圖 454

實例283 生成時序圖 455

實例284 生成直方圖 457

10.4 繪製基於OHLCDataset數據集的

圖表 458

實例285 生成K線圖 458

實例286 生成高低圖(HighLow) 460

10.5 生成組合圖表 461

實例287 生成水平組合圖表 461

實例288 生成垂直組合圖表 463

10.6 繪製其他類型的圖表 464

實例289 生成甘特圖 464

實例290 生成羅盤圖 466

實例291 生成速度圖 467

10.7 綜合圖表的套用 469

實例292 利用柱形圖對比不同城市的房價 469

實例293 利用餅圖顯示投票結果 470

實例294 利用折線圖分析某城市蔬菜價格走勢 472

實例295 利用區域圖對比分析員工業績 473

實例296 利用時序圖分析商品月銷售收益 475

實例297 利用組合圖表分析國際原油價格走勢 477

第4篇 Ajax框架套用篇

第11章 Prototype框架 480

11.1 使用Prototype基本函式 481

實例298 使用$()函式獲取頁面元素 481

實例299 使用$A()函式實現將參數轉換為數組 482

實例300 使用$F()函式獲取表單輸入控制項的值 483

實例301 使用Try.these()函式獲取返回值 484

11.2 Prototype自定義對象和類 485

實例302 在HTML元素中增加CSS樣式 485

實例303 利用Enumerable對象在頁面中顯示

數組元素 486

實例304 使用Field對象操作表單域 488

實例305 通過Form對象實現讓表單元素失效 489

實例306 使用Form.Element對象返回特定表

單域的值 491

11.3 對Ajax的支持 492

實例307 Ajax.Request對象傳送請求 492

實例308 註冊全局的事件處理器 493

實例309 定時刷新時間 495

第12章 jQuery框架 497

12.1 DOM技術 498

實例310 獲取文本框中的文本 498

實例311 利用jQuery實現查找節點 500

實例312 動態為表格追加樣式 501

實例313 動態為表格移除樣式 502

實例314 實現表格的樣式切換 504

12.2 表單處理 505

實例315 實現表單文本域的放大和縮小 505

實例316 實現複選框的全選與反選 506

實例317 列表框的綜合套用 507

實例318 實現表單驗證 509

實例319 密碼強度檢測 510

實例320 文本框提示標籤 511

12.3 操作表格 512

實例321 表格隔行變色 512

實例322 通過單選按鈕控制表格的行高亮顯示 513

實例323 通過複選框控制表格的行高亮顯示 515

實例324 表格的展開與關閉 516

實例325 利用文本框的值實現對表格內容的篩選 517

12.4 其他特效 518

實例326 製作網頁選項卡 518

實例327 日期拾取器 519

實例328 網頁軟鍵盤 520

實例329 圖片幻燈片 521

實例330 顏色拾取器 522

實例331 廣告輪顯 523

實例332 圖片放大鏡 525

實例333 文本編輯器 526

實例334 右鍵選單 527

實例335 結合jQuery實現線上剪裁 529

12.5 對Ajax的支持 532

實例336 檢測用戶名是否被占用 532

實例337 驗證用戶登錄 534

實例338 基於JQuery的Ajax聊天室 536

第13章 Dojo框架 538

13.1 Dojo的常用widget 539

實例339 實現網頁按鈕 539

實例340 實現網頁對話框 540

實例341 實現日曆功能 542

實例342 實現網頁的多頁面 543

13.2 Dojo的基本套用 544

實例343 滑鼠單擊事件處理 544

實例344 訪問被監聽方法的參數 546

實例345 頁面HTML元素的任意移動 547

實例346 頁面元素的相對移動 548

實例347 帶手柄的移動 550

13.3 Dojo對Ajax的支持 551

實例348 基本請求的傳送 551

實例349 請求佇列的傳送 553

實例350 對象的字元串化 554

實例351 表單請求傳送 556

第5篇 流行框架篇

第14章 Struts2框架套用 560

14.1 Struts2的基本配置與零配置 561

實例352 成績統計器 561

實例353 成績排序 562

實例354 用戶的直接登錄 564

實例355 實現用戶的中間退出 565

14.2 Struts2數據校驗與攔截器 566

實例356 日期轉換器 566

實例357 實現空表單信息的提示 567

實例358 計時攔截器 569

實例359 等待攔截器 569

實例360 許可權驗證攔截器 570

14.3 檔案上傳與下載 572

實例361 單檔案的上傳 572

實例362 上傳錯誤信息的提示 573

實例363 特定檔案格式的上傳 574

實例364 限定上傳檔案的大小 575

實例365 多檔案的上傳 575

實例366 檔案下載 577

14.4 Struts2對Ajax的支持 578

實例367 調試信息的輸出 578

實例368 數據校驗錯誤信息的輸出 579

實例369 Action中錯誤信息的輸出 580

實例370 顯示Action的信息 580

實例371 顯示新聞列表 581

實例372 頁面的自動刷新 582

實例373 訪問註冊頁面出錯 583

實例374 無刷新實現登錄 584

實例375 無刷新實現註銷 585

實例376 實現標籤頁 586

實例377 調試信息的輸出 587

實例378 數據的樹狀輸出 588

實例379 檔案的樹狀顯示 589

實例380 動態載入數據 590

第15章 Struts2框架標籤套用 593

15.1 OGNL語言 594

實例381 訪問OGNL上下文 594

實例382 訪問ActionContext資源 595

實例383 用“#”過濾篩選集合 596

實例384 用“#”構造Map 598

實例385 獲取Request的account屬性 598

實例386 在資源國際化中引用OGNL 599

實例387 在struts.xml中引用OGNL 600

15.2 控制標籤 601

實例388 判斷用戶是否存在 601

實例389 用戶不存在的提示 602

實例390 簡單的計算器 603

實例391 多集合的連線 604

實例392 字元串的分割 605

實例393 集合的混合合併 606

實例394 篩選集合元素 607

15.3 數據標籤 608

實例395 Action頁面的引入 608

實例396 JavaBean的引用 609

實例397 頁面日期的輸出 611

實例398 頁面日期的格式化輸出 612

實例399 計算日期的時間差 612

實例400 聲明資源的國際化 614

實例401 JSP頁面的引入 615

實例402 頁面間數據的傳遞 616

實例403 頁面數據的設定 617

實例404 變數值的頁面輸出 618

15.4 表單標籤 619

實例405 表單的輸出 619

實例406 用戶名的填寫 620

實例407 簡單的用戶登錄頁面 621

實例408 本地檔案的瀏覽 622

實例409 數據的默認選擇 622

實例410 頁面中單選按鈕的實現 623

實例411 實現表單的提交 624

實例412 實現下拉列表框 625

實例413 具有自動完成功能的下拉列表框 626

實例414 使用動態數據的下拉列表框 627

實例415 複選框的實現 628

實例416 實現可填寫的複合框 628

實例417 日期選擇器 629

實例418 聯動選擇框 630

實例419 多級數據選擇框 631

第16章 Hibernate框架基礎 632

16.1 操作實體對象 633

實例420 將實體對象保存到資料庫 633

實例421 更新實體對象 636

實例422 刪除數據 638

實例423 批量添加數據 640

實例424 採用一對一關聯添加數據 643

實例425 採用一對多關聯添加數據 645

16.2 HQL與QBC檢索方式 647

實例426 分組統計 647

實例427 利用統計函式SUM求銷售總額 648

實例428 利用統計函式AVG求某班學生的

平均成績 650

實例429 利用統計函式COUNT統計當前註冊

用戶人數 652

實例430 利用HQL查詢圖書表中的所有數據 653

實例431 利用HQL查詢滿足指定條件的數據 654

實例432 HQL綁定參數查詢 656

實例433 只返回一個檢索對象 658

實例434 限制返回結果的範圍 659

實例435 分頁查詢數據 661

實例436 利用QBC檢索欄位為空的記錄 663

實例437 利用QBC檢索不滿足指定條件的記錄 664

實例438 QBC忽略大小寫查詢 666

實例439 利用QBC查詢滿足指定範圍的所有

記錄 667

實例440 利用HQL實現模糊查詢 669

實例441 利用QBC實現模糊查詢 670

實例442 HQL在查詢中使用統計函式 671

實例443 利用HQL實現投影查詢 672

實例444 QBC實現將查詢結果排序 673

實例445 HQL內連線查詢商品信息 674

第17章 Hibernate高級話題 676

17.1 關聯映射 677

實例446 關聯映射實現級聯保存與更新 677

實例447 建立商品表與商品類型表的雙向關聯 678

實例448 實現商品表的自關聯 680

實例449 在持久化類方法中加入程式代碼 681

實例450 主鍵的關聯映射 682

實例451 外鍵關聯映射 684

實例452 多對多單向關聯映射學生表與科目表 686

實例453 多對多雙向關聯映射學生表與科目表 687

17.2 Hibernate檢索策略 689

實例454 一對多立即檢索策略 689

實例455 多對一的立即檢索策略 690

實例456 一對多的延遲檢索策略 691

實例457 迫切左外連線查詢 693

17.3 Hibernate集合映射與事務套用 694

實例458 通過映射Set集合實現添加數據 694

實例459 通過映射List集合實現添加數據 696

實例460 通過映射Map集合實現添加數據 697

實例461 事務回滾的套用 698

實例462 配置持久化類實現樂觀鎖的使用 699

第18章 Spring框架基礎 702

18.1 Spring的依賴注入 703

實例463 套用Setter注入法實現Bean的注入 703

實例464 套用構造器注入法實現Bean的注入 704

實例465 套用@Autowired註解實現Bean的

注入 706

實例466 套用@Resource註解實現Bean的注入 708

實例467 零配置實現Bean的注入 709

實例468 為JavaBean的集合對象注入屬性值 711

實例469 使用<prop>標籤為Java持久屬性集

注入值 713

實例470 按照Bean的名稱自動裝配User 714

實例471 按照Bean的類型自動裝配User 715

實例472 配置Bean的延遲初始化 715

實例473 通過<beans>設定統一的延遲初始化

行為 716

實例474 自定義MyDateEditor編輯器實現類型

轉換 717

實例475 驗證用戶登錄 718

18.2 Spring的事務管理 720

實例476 套用編程式事務管理向用戶信息表

插入數據 720

實例477 套用編程式事務管理向學生信息表

插入數據 723

18.3 Spring的面向切面編程 724

實例478 利用Spring AOP使日誌輸出與方法

分離 724

實例479 Spring AOP實現用戶註冊 726

18.4 Spring的持久化 728

實例480 在Spring中利用DAO模式添加數據 728

實例481 利用JdbcTemplate向員工信息表添加

數據 730

實例482 利用JdbcTemplate查詢員工信息表 732

實例483 利用JdbcTemplate更新指定員工信息 733

實例484 使用JdbcTemplate調用存儲過程查詢

商品 736

實例485 使用SimpleJdbcTemplate添加圖書

信息 738

實例486 使用SimpleJdbcTemplate查詢指定圖書

信息 739

實例487 在Spring中配置DBCP資料庫連線池 741

實例488 在Spring中使用占位符配置數據源 742

實例489 使用destroy-method處理數據源 744

實例490 Spring分頁顯示圖書信息 745

實例491 整合Spring和Hibernate添加員工信息 747

實例492 整合Spring和Hibernate批量添加

用戶信息 749

18.5 在Spring中生成非HTML輸出 751

實例493 利用Spring將學生信息導出到Excel

工作表 751

實例494 利用Spring將圖書信息導出到PDF

檔案 754

18.6 Spring檔案上傳與國際化 755

實例495 利用Spring實現檔案的上傳 755

實例496 利用Spring實現用戶登錄頁面的國際化 758

第19章 Spring的Web MVC框架 759

19.1 Spring的控制器 760

實例497 使用簡單控制器獲取表單數據 760

實例498 參數映射控制器映射JSP頁面 762

實例499 檔案名稱映射控制器映射JSP頁面 763

實例500 命令控制器獲取URL中的參數查詢

信息 765

實例501 利用表單控制器向圖書信息表中添加

數據 767

實例502 利用表單控制器驗證用戶登錄 770

實例503 利用多動作控制器跳轉到不同頁面 772

實例504 利用嚮導控制器實現用戶註冊 773

實例505 利用多動作控制器操作員工信息表的

數據 776

19.2 線上通訊錄 778

實例506 添加新聯繫人 778

實例507 修改聯繫人信息 781

實例508 刪除聯繫人 783

實例509 查詢通訊錄中的信息 784

19.3 圖書信息管理 785

實例510 添加圖書信息 785

實例511 修改圖書信息 787

實例512 刪除圖書信息 788

實例513 查詢圖書信息 789

第6篇 網站安全與架構模式篇

第20章 網站性能最佳化與安全策略 792

20.1 檔案保護 793

實例514 防止用戶直接輸入地址訪問JSP檔案 793

實例515 防止頁面重複提交 795

實例516 對查詢字元串進行URL編碼 798

實例517 過濾非法字元 799

實例518 禁止用戶輸入敏感字元 801

20.2 漏洞防護與數據加密 802

實例519 檔案上傳漏洞 802

實例520 防止資源被盜鏈下載 806

實例521 對登錄密碼進行加密 807

實例522 字元串加密 810

實例523 MD5加密註冊用戶名和密碼 812

20.3 獲取客戶端信息 814

實例524 確定對方的IP位址 814

實例525 獲取客戶端TCP/IP連線埠的方法 815

實例526 確定對方的瀏覽器信息 817

實例527 確定對方瀏覽器可接收信息的類型 817

特別提醒:

親愛的讀者朋友,由於近期紙張價格和印製成本大幅上漲,為不增加讀者朋友的負擔,又不減少書的內容,本書以下章節內容不得不放在配書光碟中,由此給您帶來了不便,在此深表歉意。

第21章 設計模式與架構 819

(本章內容在配書光碟中)

21.1 接口型模式 820

實例528 適配器模式 820

實例529 外觀模式 821

實例530 組合模式 824

實例531 橋接模式 826

21.2 責任型模式 829

實例532 單例模式 829

實例533 建造者模式 831

實例534 中介者模式 834

實例535 責任鏈模式 836

實例536 享元模式 839

實例537 代理模式 841

21.3 構造型模式 842

實例538 裝飾模式 842

實例539 工廠方法模式 844

實例540 抽象工廠模式 847

實例541 原型模式 849

實例542 備忘錄模式 851

21.4 行為型模式 853

實例543 命令模式 853

實例544 解釋器模式 855

實例545 疊代器模式 857

實例546 觀察者模式 859

實例547 狀態模式 862

實例548 策略模式 864

實例549 模板方法模式 866

實例550 訪問者模式 868

21.5 網站開發架構模式 870

實例551 MVC框架在聯繫人管理網站中的

套用 870

實例552 套用MVC架構開發簡單計算器 874

第7篇 綜合套用篇

第22章 網站設計與網頁配色 880

(本章內容在配書光碟中)

22.1 企業網站 881

實例553 汽車銷售網 881

實例554 醫藥連鎖網 882

實例555 硬體產品網 883

實例556 軟體產品網 884

實例557 物流網 885

實例558 賓館酒店網 886

22.2 電子商務類 887

實例559 B2C電子商務網 887

實例560 B2B電子商務網 888

22.3 搜尋引擎類 889

實例561 站內搜尋引擎 889

實例562 網際網路搜尋引擎 890

22.4 生活資訊類 891

實例563 家居銷售網 892

實例564 房地產信息網 893

22.5 娛樂類網站 894

實例565 音樂網 894

實例566 電影網 895

實例567 遊戲門戶網 897

22.6 供求信息類 898

實例568 人才供求網 898

實例569 二手商品供求網 899

22.7 其他套用 900

實例570 個人主頁 900

實例571 美食網 902

實例572 部落格網站 903

第23章 Java Web典型項目開發案例 904

(本章內容在配書光碟中)

23.1 Ajax聊天室 905

實例573 實時獲取並顯示線上人員列表 905

實例574 實現用戶發言 907

實例575 實時顯示聊天內容 910

實例576 安全退出聊天室 913

23.2 部落格網核心模組開發 915

實例577 註冊自己的部落格 915

實例578 根據域名訪問部落格 917

實例579 推薦部落格設定 918

實例580 文章瀏覽操作 920

23.3 線上投票統計功能 922

實例581 實現投票功能 922

實例582 實現柱形圖統計功能 923

實例583 實現餅圖統計功能 926

實例584 雙擊滑鼠展開圖片 928

23.4 B2C電子商務網站 929

實例585 添加商品到購物車 929

實例586 查看購物車 931

實例587 修改商品數量 933

實例588 生成訂單 934

23.5 線上音樂 937

實例589 試聽歌曲並同步顯示歌詞 937

實例590 添加歌曲 939

實例591 以順序和隨機方式進行歌曲連播 940

23.6 校內數碼相冊 944

實例592 以幻燈片方式播放數碼相片 944

實例593 創建相冊分類並上傳相片 945

實例594 瀏覽和管理上傳相片 947

實例595 數碼相冊分類管理 950

23.7 仿百度知道之明日知道 953

實例596 線上提問 953

實例597 問題回復 955

實例598 修改問題 956

實例599 關閉提出的問題 957

實例600 搜尋問題 958

相關詞條

相關搜尋

熱門詞條

聯絡我們