圖書詳細信息
ISBN:9787302351702
定價:99.8元
印次:1-1
裝幀:平裝
印刷日期:2014-7-25
圖書簡介
“開發寶典叢書”是由清華大學出版社為軟體開發愛好者精心打造的一套軟體開發百科全書。叢書強調“全面、新穎、詳細、實用、深入、高效”等特色,涵蓋常見的程式語言和技術。叢書中的每本書都是由從事軟體開發多年、具備豐富的開發經驗的老手精心編寫,講解細膩,內容實用,並精心錄製了配套教學視頻。本書以J2SE為平台,以最新的JDK 1.7技術規範為切入點,全面、系統地介紹了Java的基礎編程技術和常用開發方法。書中的各個技術點都提供了實例以供讀者實戰演練,各章最後還提供了實戰練習題以幫助讀者鞏固和提高。本書配1張DVD光碟,內容為書中涉及的實例源檔案及作者專門為本書錄製的配套教學視頻,以幫助讀者更加高效、直觀地學習本書內容。另外,光碟中還贈送了大量的Java範例、模組及項目案例開發的源程式和教學視頻,非常超值。
目錄
第1篇Java基礎知識入門
第1章Java的開發運行環境(教學視頻:57分鐘) 2
1.1Java運行原理與Java虛擬機 2
1.1.1Java運行原理簡述 2
1.1.2Java虛擬機 3
1.2Java的開發環境 4
1.2.1JDK的安裝 4
1.2.2如何設定系統環境變數 8
1.2.3JDK安裝後的測試與驗證 10
1.2.4編譯命令的使用 11
1.2.5解釋執行命令的使用 12
1.2.6UltraEdit的使用 14
1.3Java應用程式示例 17
1.4JavaApplet程式示例 19
1.5本章小結 21
1.6實戰習題 21
第2章Java語言基礎(教學視頻:75分鐘) 22
2.1Java語言的關鍵特性 22
2.2Java程式的構成及文本風格 24
2.2.1Java程式的構成 25
2.2.2Java的代碼結構 26
2.2.3Java程式的格式編排 27
2.2.4Java代碼的注釋風格 27
2.3數據類型 30
2.3.1基本數據類型 30
2.3.2常量 32
2.3.3變數 33
2.3.4整型數據 34
2.3.5浮點型數據 36
2.3.6字元型數據 37
2.3.7布爾型數據 39
2.3.8變數賦初值 40
2.3.9變數的作用域 40
2.3.10數據類型轉換 41
2.4運算符與表達式 44
2.4.1算術運算符和算術表達式 45
2.4.2關係運算符和關係表達式 49
2.4.3邏輯運算符和邏輯表達式 51
2.4.4條件運算符和條件表達式 54
2.4.5位運算符和位表達式 56
2.4.6賦值運算符和賦值表達式 59
2.4.7表達式的求值順序 61
2.5流程控制語句 63
2.5.13種基本控制結構 64
2.5.2表達式語句和空語句 65
2.5.3塊語句 66
2.5.4if~else分支語句 67
2.5.5多路分支switch~case語句 74
2.5.6當型循環while語句 76
2.5.7直到型循環do~while語句 77
2.5.8當型循環for語句 79
2.5.9增強的for循環 82
2.5.10循環的嵌套 84
2.5.11跳轉語句break 85
2.5.12跳轉語句continue 87
2.6Java基礎語法實戰演習 90
2.6.1判斷閏年 90
2.6.2求最大公約數和最低公倍數 91
2.6.3Fibonacci數列 92
2.6.4逆向輸出數字 93
2.6.5求水仙花數 94
2.6.6輸出圖形 95
2.6.7輸出九九口訣表 96
2.7本章小結 97
2.8實戰習題 97
第2篇Java面向對象編程
第3章對象和類(教學視頻:33分鐘) 100
3.1什麼是面向對象 100
3.1.1對象的理解 101
3.1.2什麼是類 102
3.1.3訊息的定義 103
3.1.4面向對象的基本特徵 103
3.2類與對象 106
3.2.1類的基本結構 106
3.2.2類的聲明 107
3.2.3創建類體 107
3.2.4對象的生命周期 108
3.2.5對象的創建 108
3.2.6對象的使用 110
3.3成員變數的定義與使用 111
3.3.1成員變數的定義 111
3.3.2成員變數的訪問許可權 112
3.3.3實例成員變數和靜態成員變數 115
3.4方法的定義和實現 117
3.4.1方法的聲明 118
3.4.2創建方法體與return語句 118
3.4.3局部變數和成員變數的區別 120
3.4.4方法的訪問許可權 122
3.5方法的調用 122
3.5.1方法調用的形式 122
3.5.2方法調用的參數 124
3.5.3隱含參數this 128
3.6構造方法 129
3.6.1無參數構造方法的定義和使用 130
3.6.2帶參數構造方法的定義和使用 131
3.6.3this關鍵字和構造方法的調用 132
3.7靜態方法 133
3.7.1靜態方法的聲明和定義 134
3.7.2靜態方法和實例方法的區別 134
3.7.3靜態代碼塊 136
3.7.4再論靜態成員變數 137
3.8main()方法和命令行參數 139
3.9終結處理與垃圾回收 141
3.9.1對象的釋放和垃圾收集機制 141
3.9.2finalize()終結處理方法 141
3.9.3Java垃圾回收的工作原理 142
3.10本地方法 143
3.11本章小結 145
3.12實戰習題 145
第4章繼承與多態(教學視頻:35分鐘) 147
4.1繼承的概念 147
4.1.1繼承的基本原理 147
4.1.2Java繼承的特徵 148
4.1.3Java中子類繼承父類的描述及實現 149
4.1.4Java繼承的記憶體形態 151
4.2繼承中屬性隱藏與方法覆蓋 151
4.2.1屬性的隱藏 152
4.2.2方法的覆蓋 154
4.3構造方法的繼承與調用 157
4.3.1構造方法的繼承 157
4.3.2super關鍵字的使用 159
4.3.3關於子類繼承父類的總結 162
4.4多態技術 162
4.4.1Java中的多態 162
4.4.2重載與覆蓋 162
4.4.3運行時多態 167
4.5接口與多重繼承 172
4.5.1接口的定義 172
4.5.2接口的繼承 173
4.5.3接口的實現 175
4.6Java抽象類與最終類 177
4.6.1抽象類與抽象方法 177
4.6.2最終類與最終方法 180
4.7Java內部類 181
4.7.1內部類的定義 181
4.7.2內部類訪問外部類的成員 183
4.7.3內部類之間的相互使用 186
4.7.4在外部使用內部類 187
4.7.5匿名內部類 188
4.7.6內部類的作用 189
4.8Java包:庫單元 190
4.8.1包的創建 190
4.8.2包的使用 192
4.8.3JAR檔案的創建和使用 194
4.8.4JDK中的常用包 195
4.9本章小結 197
4.10實戰習題 198
第3篇Java數據處理
第5章數組與字元串(教學視頻:69分鐘) 200
5.1數組 200
5.1.1一維數組的聲明 200
5.1.2一維數組的創建 201
5.1.3一維數組的使用 202
5.1.4二維數組的聲明 204
5.1.5二維數組的創建 205
5.1.6二維數組的使用 207
5.1.7程式示例1——數組排序 208
5.1.8程式示例2——楊輝三角 210
5.2字元串 212
5.2.1String對象的聲明 212
5.2.2String對象的創建 212
5.2.3String對象的使用 213
5.2.4String類型的數組 215
5.2.5StringBuffer對象的聲明 216
5.2.6StringBuffer對象的創建 216
5.2.7StringBuffer對象的使用 216
5.3本章小結 218
5.4實戰習題 218
第6章Java的異常處理(教學視頻:58分鐘) 220
6.1異常與異常處理 220
6.1.1異常的特點 220
6.1.2異常處理的兩種模型 221
6.1.3異常處理在編程中的優點 221
6.2Java的異常處理 222
6.2.1Java的異常處理機制 222
6.2.2Java異常類的層次結構 223
6.2.3Java異常的分類 223
6.2.4Java異常處理的原則 225
6.3Java異常處理實踐 226
6.3.1Java異常捕獲與處理 226
6.3.2異常的拋出 230
6.3.3異常的嵌套處理 233
6.3.4自定義異常及其處理方法 236
6.3.5Java異常處理的套用示例 236
6.4本章小結 237
6.5實戰習題 237
第7章Java輸入輸出處理技術(教學視頻:110分鐘) 238
7.1數據與JavaI/O 238
7.1.1檔案與數據流 238
7.1.2Java的I/O體系 239
7.2基於位元組的I/O操作接口 241
7.2.1InputStream類的結構層次及方法 242
7.2.2OutputStream中的方法 242
7.2.3檔案輸入流FileInputStream 243
7.2.4檔案輸出流FileOutputStream 243
7.2.5保存用戶輸入到檔案 244
7.2.6顯示檔案內容 245
7.2.7檔案的複製 247
7.2.8順序輸入流 248
7.2.9管道輸入輸出流 249
7.2.10過濾輸入輸出流 251
7.3基於字元的I/O操作接口 252
7.3.1字元處理類Reader與Writer 252
7.3.2InputStreamReader類中的方法 253
7.3.3OutputStreamWriter類中的方法 253
7.3.4從鍵盤輸入 254
7.3.5檔案複製 254
7.4控制台I/O處理 255
7.4.1控制台輸入類Scanner 255
7.4.2格式化輸出printf 256
7.5Java對檔案的訪問 259
7.5.1File類及其方法 259
7.5.2File類讀取檔案列表 260
7.5.3檔案的隨機訪問:RandomAccessFile 262
7.5.4RandomAccessFile類進行檔案加密 263
7.6Java序列化技術 264
7.7Java7中的檔案系統簡介 267
7.7.1檔案的訪問 267
7.7.2目錄的監視 269
7.7.3檔案的屬性 272
7.8本章小結 274
7.9實戰習題 274
第4篇Java中的高級技術
第8章Java的多執行緒機制(教學視頻:83分鐘) 276
8.1認識執行緒 276
8.1.1執行緒是什麼 276
8.1.2多執行緒的特點 277
8.2Java的多執行緒技術 278
8.2.1Java與多執行緒 278
8.2.2Java的執行緒狀態及轉換 278
8.2.3Java多執行緒的實現 279
8.3多執行緒程式的編寫 281
8.3.1利用Thread的子類創建執行緒 281
8.3.2實現Runnable接口創建執行緒 283
8.3.3使用isAlive()和join()等待子執行緒結束 284
8.3.4設定執行緒優先權 286
8.4執行緒的調度與通信 287
8.4.1執行緒的互斥 288
8.4.2執行緒的同步 290
8.4.3暫停、恢復和停止執行緒 292
8.4.4生產者-消費者問題實例 294
8.5本章小結 297
8.6實戰習題 298
第9章運行時類型識別(教學視頻:37分鐘) 299
9.1Java中的RTTI 299
9.1.1為什麼需要RTTI 299
9.1.2RTTI的工作原理 300
9.2Java類的識別方法 301
9.2.1使用getClass()方法獲取類信息 301
9.2.2使用類標記 302
9.2.3使用關鍵字instanceof判斷所屬類 303
9.3利用反射獲取運行時類信息 304
9.3.1使用isInstance()方法判斷所屬類 305
9.3.2獲取成員方法信息 306
9.3.3獲取構造方法信息 307
9.3.4獲取類的成員屬性 308
9.3.5根據方法的名稱來執行方法 309
9.3.6創建新的對象 310
9.3.7改變屬性的值 311
9.3.8使用數組 311
9.4本章小結 312
9.5實戰習題 313
第10章泛型(教學視頻:18分鐘) 314
10.1Java的泛型 314
10.1.1泛型的本質 314
10.1.2泛型實例 315
10.1.3有界類型 319
10.1.4通配符參數 320
10.1.5泛型方法 322
10.1.6泛型接口 324
10.2泛型類的繼承 326
10.2.1以泛型類為父類 326
10.2.2以非泛型類為父類 328
10.2.3運行時類型識別 329
10.2.4強制類型轉換 330
10.2.5繼承規則 331
10.3擦拭 331
10.3.1擦拭的概念及原理 332
10.3.2擦拭帶來的錯誤 333
10.4泛型的局限 335
10.4.1不能使用基本類型 335
10.4.2不能使用泛型類異常 335
10.4.3不能使用泛型數組 336
10.4.4不能實例化參數類型對象 336
10.5本章小結 336
10.6實戰習題 337
第11章Java集合框架(教學視頻:20分鐘) 338
11.1集合與集合框架 338
11.2集合接口和類 339
11.2.1Java集合接口層次 339
11.2.2Collection接口 340
11.2.3Set接口 342
11.2.4List接口 342
11.2.5Map接口 343
11.2.6Queue接口 345
11.2.7集合中的常用術語 345
11.3集合類的使用 346
11.3.1順序表(ArrayList)使用示例 346
11.3.2鍊表(LinkedList)使用示例 349
11.3.3優先佇列(PriorityQueue)使用示例 353
11.3.4哈希集合(HashSet)使用示例 356
11.3.5哈希映射類(HashMap)使用示例 360
11.3.6有序樹(TreeSet)使用示例 361
11.3.7有序樹映射類(TreeMap)使用示例 365
11.3.8枚舉(Enum)使用示例 367
11.3.9枚舉集(EnumSet)使用示例 370
11.4常用算法 372
11.4.1Collections中的簡單算法 372
11.4.2排序 374
11.4.2二分查找 375
11.5遺留的類和接口 378
11.5.1Enumeration接口簡介 378
11.5.2向量類(Vector)使用示例 378
11.5.3棧(Stack)使用示例 380
11.5.4字典(Dictionary)簡介 382
11.5.5哈希表(Hashtable)簡介 382
11.6本章小結 382
11.7實戰習題 383
第12章類型包裝器、自動裝箱和元數據(教學視頻:21分鐘) 384
12.1類型包裝器 384
12.1.1字元類型包裝器 384
12.1.2布爾類型包裝器 385
12.1.3數字類型包裝器 385
12.2自動裝/拆箱 387
12.2.1自動裝箱與方法 387
12.2.2表達式中的自動裝/拆箱 388
12.2.3布爾型和字元型包裝器的自動裝/拆箱 389
12.3元數據與註解 390
12.3.1註解的定義及語法 391
12.3.2註解的保留策略 391
12.3.3使用反射讀取註解 392
12.3.4註解的套用 395
12.3.5使用註解的一些限制 401
12.4本章小結 401
12.5實戰習題 401
第13章常用工具類(教學視頻:74分鐘) 402
13.1Runtime類的使用 402
13.1.1記憶體管理 403
13.1.2執行其他程式 404
13.2System類的使用 406
13.2.1利用currentTimeMillis()記錄程式執行的時間 406
13.2.2exit()退出方法 407
13.2.3獲取和設定環境屬性 408
13.3Math類的使用 409
13.3.1利用隨機數求π值 409
13.3.2利用三角函式求π值 410
13.3.3利用換底公式求任意對數值 411
13.3.4使用取整函式 412
13.4Random類的使用 413
13.5Date類和Calendar類的使用 415
13.5.1Date類的簡單使用 415
13.5.2使用SimpleDateFormat格式化輸出時間 415
13.5.3Calendar類的特色 418
13.5.4利用GregorianCalendar輸出日曆 421
13.6Formatter類的使用 423
13.6.1Formatter的簡單使用 423
13.6.2時間格式轉換符詳解 425
13.6.3格式說明符語法圖 427
13.7正則表達式 427
13.7.1正則表達式的作用 428
13.7.2正則表達式的基本規則 428
13.7.3正則表達式中的一些高級規則 431
13.7.4正則表達式中的其他通用規則 434
13.7.5使用技巧 435
13.8Pattern類的使用 435
13.9Matcher類的使用 437
13.9.1匹配方法的使用 438
13.9.2替換方法的使用 439
13.9.3組匹配的使用 440
13.9.4檢驗Email的合法性 441
13.10本章小結 443
13.11實戰習題 443
第5篇桌面程式開發
第14章GUI程式設計(教學視頻:29分鐘) 446
14.1GUI程式設計的基本概念 446
14.1.1組件 447
14.1.2布局管理 447
14.1.3事件處理 447
14.2Java集成開發平台:Eclipse 448
14.2.1Eclipse簡介 448
14.2.2Windows下Eclipse的安裝 448
14.2.3Linux下Eclipse的安裝 450
14.2.4Eclipse的基本配置 451
14.2.5使用Eclipse進行Java開發 453
14.3AWT組件簡介 458
14.3.1AWT的層次結構 459
14.3.2AWT中的組件和包 460
14.3.3AWT通用屬性與方法 462
14.3.4使用AWT編制GUI程式示例 463
14.4事件處理 465
14.4.1授權事件模型 466
14.4.2事件 466
14.4.3事件源 466
14.4.4事件監聽器和適配器 467
14.4.5編寫事件處理程式的基本方法 467
14.4.6回響視窗關閉事件處理示例 468
14.4.7事件監聽器接口和適配器類 469
14.4.8作為參數的事件類 470
14.4.9處理多個事件的例子 476
14.5Swing組件的特性 480
14.5.1Swing組件的優勢 480
14.5.2Swing組件的體系結構 480
14.5.3使用Swing組件編寫GUI的層次結構 481
14.6頂層容器 482
14.6.1框架類(JFrame)使用示例 482
14.6.2小應用程式(JApplet)使用示例 484
14.6.3對話框(JDialog)使用示例 485
14.7中間容器 488
14.7.1面板(JPanel)使用示例 488
14.7.2滾動面板(JScrollPane)使用示例 491
14.7.3分隔板(JSplitPane)使用示例 493
14.7.4選項板(JTabbedPane)使用示例 496
14.7.5工具列(JToolBar)使用示例 497
14.8常用組件 498
14.8.1標籤(Jlabel)使用示例 499
14.8.2按鈕(JButton)使用示例 501
14.8.3文本框(JTextField)和密碼框(JPasswordField)使用示例 502
14.8.4文本區(JTextArea)使用示例 506
14.8.5複選框(JcheckBox)使用示例 507
14.8.6單選按鈕(JradioButton)使用示例 509
14.8.7列表框(JList)使用示例 511
14.8.8組合框(JComboBox)使用示例 514
14.8.9表格(Jtable)使用示例 516
14.8.10樹(JTree)使用示例 525
14.8.11選單使用示例 530
14.9布局管理 533
14.9.1流式布局(FlowLayout)回顧 534
14.9.2框線布局(BorderLayout)使用示例 534
14.9.3格線布局(GridLayout)使用示例 535
14.9.4卡片布局(CardLayout)使用示例 536
14.9.5增強格線布局(GridBagLayout)使用示例 538
14.9.6Swing新增的布局管理 541
14.10Java2D開發技術 541
14.10.1Java2D概述 541
14.10.2Graphics2D類 541
14.10.32D形狀 542
14.10.4文本與字型支持 543
14.10.5高級功能 544
14.11GUI程式設計實例1——色盲檢測 545
14.11.1界面的實現 545
14.11.2“開始”按鈕的事件處理 547
14.11.3“確定”按鈕的事件處理 547
14.11.4滾動條的事件處理 548
14.11.5完整的程式 548
14.12GUI程式設計實例2——小鬧鐘 551
14.12.1程式界面的實現 551
14.12.2時間的刷新代碼 553
14.12.3JRadioButton的事件回響代碼 553
14.12.4“確定”按鈕的事件回響代碼 554
14.12.5“取消”按鈕的事件回響代碼 556
14.12.6完整的程式 556
14.13GUI程式設計實例3——字型選擇對話框 560
14.13.1界面的實現 561
14.13.2監聽ListSelectionEvent事件 563
14.13.3按鈕回響事件 563
14.13.4對話框的顯示 564
14.13.5返回用戶選擇的字型 564
14.13.6如何使用字型選擇對話框 564
14.14GUI程式設計實例4——記事本 565
14.14.1增加彈出式選單 565
14.14.2“退出”選單的回響代碼 565
14.14.3覆蓋JFrame的processWindowEvent方法 566
14.14.4監聽JTextArea的DocumentEvent事件 567
14.14.5“另外儲存為...”選單的回響代碼 567
14.14.6“保存”選單的回響代碼 569
14.14.7“新建”選單的回響代碼 570
14.14.8“打開...”選單的回響代碼 571
14.14.9“列印…”選單的回響代碼 572
14.14.10“剪下”選單的回響代碼 574
14.14.11“複製”選單的回響代碼 574
14.14.12“貼上”選單的回響代碼 575
14.14.13“全選”選單的回響代碼 575
14.14.14“時間/日期”選單的回響代碼 575
14.14.15“自動換行”選單的回響代碼 575
14.14.16“查找…”選單的回響代碼 575
14.14.17“設定字型…”選單的回響代碼 578
14.13.18完整的程式 578
14.15本章小結 587
14.16實戰習題 587
第15章Java多媒體編程套用(教學視頻:16分鐘) 589
15.1聲音檔案的播放 589
15.1.1在Applet中播放聲音 590
15.1.2在Application中播放聲音 591
15.1.3利用JavaSoundAPI播放聲音 593
15.2基本圖形處理 598
15.2.1基本圖形的創建 598
15.2.2基本圖形的處理 603
15.2.3圖形的特效顯示 605
15.3字型的處理 612
15.3.1字型的處理方法 613
15.3.2字型的展示處理 616
15.3.3字型的特效顯示 618
15.4圖像的顯示處理 620
15.4.1圖像的顯示 621
15.4.2圖像的變換 623
15.4.3圖像的合成 628
15.4.4圖像顯示特效 630
15.5視頻檔案的播放 634
15.5.1Java媒體框架:JMF 634
15.5.2Java播放器開發實例 636
15.6本章小結 638
15.7實戰習題 639
第6篇資料庫程式設計
第16章資料庫基礎(教學視頻:47分鐘) 642
16.1資料庫的概念 642
16.1.1數據管理方式的發展 642
16.1.2資料庫的基本概念 643
16.1.3資料庫系統的體系結構 644
16.1.4數據模型 649
16.2關係型資料庫 650
16.2.1關係模型的組成 650
16.2.2關係模型的特點 651
16.2.3關係型資料庫的結構 652
16.2.4常用的關係型資料庫 653
16.2.5用Access建立一個資料庫 653
16.3SQL基礎 658
16.3.1SQL概述 659
16.3.2SQL數據定義 659
16.3.3SQL數據更新 664
16.3.4SQL數據檢索 665
16.3.5SQL數據控制 671
16.3本章小結 672
16.4實戰習題 672
第17章Java資料庫編程技術(教學視頻:110分鐘) 674
17.1Java對資料庫的連線 674
17.1.1JDBC的基本概念 674
17.1.2JDBC的工作方式 674
17.1.3JDBC驅動連線 675
17.1.4連線池 678
17.1.5事務操作 679
17.2Java對資料庫的操作 681
17.2.1常用接口及類 681
17.2.2建立資料庫連線 682
17.2.3關閉資料庫連線 683
17.2.4添加新數據 684
17.2.5刪除數據 688
17.2.6修改數據 689
17.2.7查詢數據 690
17.3學生信息管理系統實例 692
17.3.1程式設計思路 693
17.3.2幾個相關標記 693
17.3.3程式界面設計 694
17.3.4打開資料庫 696
17.3.5關閉資料庫 696
17.3.6顯示數據到控制項中 697
17.3.7幾個輔助方法 697
17.3.8“第一條”按鈕事件回響代碼 697
17.3.9“前一條”按鈕事件回響代碼 698
17.3.10“後一條”按鈕事件回響代碼 699
17.3.11“最後一條”按鈕事件回響代碼 699
17.3.12“增加記錄”按鈕事件回響代碼 700
17.3.13“保存記錄”按鈕事件回響代碼 700
17.3.14“編輯記錄”按鈕事件回響代碼 701
17.3.15“取消改變”按鈕事件回響代碼 702
17.3.16“刪除記錄”按鈕事件回響代碼 703
17.3.17actionPerformed()方法 703
17.4本章小結 704
17.5實戰習題 704
第7篇Java網路程式開發
第18章Java網路編程技術(教學視頻:78分鐘) 706
18.1網路編程基礎 706
18.1.1TCP/IP協定 706
18.1.2IP位址 707
18.1.3域名 707
18.1.4伺服器 707
18.1.5客戶機 707
18.1.6套接字 708
18.1.7連線埠 708
18.1.8URL 708
18.2Java網路編程常用API 709
18.2.1InetAddress類使用示例 709
18.2.2URL類和URLConnection類的使用 711
18.3JavaSocket套用 715
18.3.1Socket概念及其通信過程 715
18.3.2客戶端創建Socket對象 716
18.3.3伺服器端創建ServerSocket對象 717
18.3.4示例程式1——端到端的通信 718
18.3.5示例程式2——一對多的通信 720
18.3.6示例程式3——簡單的聊天程式 722
18.4UDP數據報通信 727
18.4.1DatagramSocket的使用方法 727
18.4.2DatagramPacket的使用方法 727
18.4.3示例程式——用UDP實現的聊天程式 728
18.5Java網路編程的新特性 731
18.5.1輕量級的HTTP服務 731
18.5.2Cookie管理特性 733
18.5.3IPv6網路應用程式的開發 734
18.6本章小結 737
18.7實戰習題 738
第19章JSP程式設計(教學視頻:42分鐘) 739
19.1從JavaServlet說起 739
19.1.1JavaServlet概述 740
19.1.2JavaServlet的生命周期 740
19.1.3JSP與Servlet的關係 741
19.2JSP的基本概念 743
19.2.1動態網站開發技術 743
19.2.2JSP技術特點 745
19.3JSP運行環境 746
19.3.1Tomcat簡介 746
19.3.2Tomcat的安裝和啟動 747
19.3.3部署自己的網站 749
19.3.4一個簡單的JSP程式 750
19.4JSP的指令 751
19.4.1頁面指令(page) 752
19.4.2包含指令(include) 754
19.4.3標籤庫指令(taglib) 754
19.5JSP的腳本元素 755
19.5.1HTML注釋 755
19.5.2隱藏注釋 756
19.5.3變數和方法的聲明 756
19.5.4表達式 757
19.5.5嵌入網頁中的程式段(Scriptlet) 757
19.6JSP的標準操作 758
19.6.1重定向操作(<jsp:forward>) 758
19.6.2包含操作(<jsp:include>) 759
19.6.3嵌入外掛程式(<jsp:plugin>) 760
19.6.4創建Bean實例(<jsp:useBean>) 762
19.6.5設定Bean屬性(<jsp:setProperty>) 763
19.6.6獲取Bean屬性(<jsp:getProperty>) 764
19.7JSP的隱含對象 765
19.7.1page對象簡介 765
19.7.2config對象簡介 765
19.7.3利用out對象輸出結果到網頁 765
19.7.4利用request對象獲取用戶數據 766
19.7.5利用response對象清除網頁快取 769
19.7.6利用session對象檢測用戶 771
19.7.7利用application對象獲取容器版本 774
19.7.8利用pageContext對象獲取頁面屬性 775
19.7.9利用exception對象處理異常 776
19.8JavaBeans介紹 777
19.8.1JavaBeans的屬性 777
19.8.2事件 783
19.8.3持久化 787
19.8.4用戶化 788
19.9JSP套用實例1——計數器 790
19.10JSP套用實例2——日曆 792
19.11JSP套用實例3——資料庫查詢 795
19.12JSP套用實例4——簡單的留言板 797
19.13JSP套用實例5——B/S模式的聊天室 802
19.14本章小結 816
19.15實戰習題 816
*第8篇即時通信系統開發項目實戰
第20章系統分析和設計(教學視頻:27分鐘) 820
20.1系統開發概述 820
20.1.1為什麼要開發此系統 820
20.1.2開發此系統所要用到的技術 821
20.2系統功能分析 822
20.2.1即時通信系統的功能要點 822
20.2.2系統開發要點 823
20.3系統設計 823
20.3.1系統總體設計 824
20.3.2伺服器端設計 824
20.3.3客戶端設計 827
20.3.4資料庫設計 832
20.4本章小結 834
20.5實戰習題 834
第21章伺服器端功能模組的實現(教學視頻:19分鐘) 835
21.1搭建工程開發框架 835
21.2伺服器的啟動與連線功能 836
21.2.1伺服器端界面模組的實現 837
21.2.2伺服器啟動模組的實現 842
21.2.3伺服器端執行緒連線模組的實現 843
21.3伺服器的對外服務功能 845
21.4伺服器端的數據管理功能 852
21.4.1資料庫連線操作的實現 852
21.4.2客戶端用戶登錄功能實現 853
21.4.3用戶信息展示功能實現 855
21.4.4用戶信息的存儲功能實現 858
21.5伺服器端的功能類 860
21.5.1實現頭像顯示功能的公用類 861
21.5.2顯示時間的公用類 862
21.5.3設定視窗位置的公用類 863
21.6本章小結 864
21.7實戰習題 864
第22章客戶端功能模組的實現(教學視頻:25分鐘) 865
22.1用戶註冊與登錄功能 865
22.1.1用戶註冊模組 865
22.1.2用戶登錄模組 873
22.2客戶端訊息互動功能 879
22.2.1客戶端主界面展示 879
22.2.2聊天模組 893
22.2.3接收陌生人信息模組 899
22.3客戶端基本操作功能 901
22.3.1查找好友模組 901
22.3.2顯示好友信息模組 904
22.3.3更改用戶信息模組 906
22.3.4顯示版權資訊 914
22.4本章小結 916
22.5實戰習題 916