@import url(http://m.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
我7月18日收到了出版社寄來的樣書,紙張比第一版要好了很多,厚度比第一張增加了足足四分一。
- 這本書針對的是Eclipse3.2.1版,書中所用到的所有軟件包都是在2006年12月所能得到的最新版,如JDK用的是1.5.0。
- 文字表述都做了重新組織,盡量更通順更易讀。書中的圖片大都重新截圖。
- 代碼在不影響美觀的情況下采用緊縮式排版,能寫成一行的,絕不分做兩行,盡量壓縮水份。
- 廢棄了SWT Desiger,改用開源的VE。
- 新版SWT有些變化,一些類和方法不再支持,所以書中例子代碼也都對新API做了更新。
- 加入了一些新技術,比如JFace Data Binding,還介紹了拖拽(Drog and Drop)、Form表單API的使用。
- 本書最大的變化是把插件實踐一篇的SMS項目,用RCP框架來重新實現,成為獨立的“RCP開發篇”,篇中還詳細討論了如何用Java Web Start和WebRCP來布署RCP應用。
- 新版Lomboz的變化也是很大的,使用和過去完全不同。
- Hibernate已廢棄了它的擴展工具包,而做成了一個Eclipse插件叫Hibernate Tools,本書對此插件也做了使用介紹。
- 光盤中的視頻操作全部重新錄制,改成FLASH格式。
- 光盤包含將書中所用軟件,但由于光盤容量所限,JDK和MySQL等幾個軟件包沒有被加入進來,讀者只能從網站上自行下載了。
目 錄
第1篇 起步篇
第1章 Eclipse簡介 263
1.1 Eclipse的歷史 263
1.2 Eclipse的體系結構 263
1.3 優秀的圖形API:SWT/JFace 264
1.4 開放式可擴展的IDE 265
1.5 桌面應用程序的開發平臺 266
1.6 全中文化的幫助文件 266
1.7 Eclipse是開放源代碼的免費軟件 267
第2章 安裝Eclipse及其插件 268
2.1 安裝JDK 268
2.1.1 下載JDK 268
2.1.2 安裝JDK 268
2.1.3 檢查安裝是否正確 269
2.2 安裝Eclipse 269
2.3 安裝Eclipse多國語言包 271
2.3.1 安裝方法 271
2.3.2 注意事項 272
2.4 復制式插件安裝法(安裝XMLBuddy) 273
2.5 URL式插件安裝法(安裝Log4E) 274
第3章 Eclipse的集成開發環境 276
3.1 Eclipse界面簡介 276
3.2 創建Java項目和類,并運行 277
3.2.1 創建Java項目 278
3.2.2 創建類 279
3.2.3 運行 280
3.3 項目的屬性 281
3.3.1 項目屬性窗簡介 281
3.3.2 項目的構建路徑 281
3.4 代碼模板與式樣 284
3.4.1 代碼模板 284
3.4.2 自定義注釋 285
3.4.3 代碼格式化 286
3.5 代碼編寫 288
3.5.1 重構 288
3.5.2 代碼的自動生成 288
3.5.3 打開斷言 290
3.5.4 類型過濾 291
3.6 代碼閱讀 292
3.6.1 搜索 292
3.6.2 打開類型 293
3.6.3 打開類型層次結構 294
3.6.4 查看JDK源代碼 294
3.6.5 查看Eclipse的源代碼 295
3.7 任務標記 297
3.7.1 任務標記的設定 297
3.7.2 過濾任務標記 298
3.8 調試器的使用 299
3.9 常用快捷鍵 301
第4章 Eclipse中CVS的使用 302
4.1 CVS簡介 302
4.2 CVS服務器端的安裝與配置 302
4.2.1 安裝CVSNT 302
4.2.2 創建CVS資源庫 303
4.2.3 為Windows用戶設置訪問CVS資源庫的密碼 303
4.3 CVS客戶端的配置 304
4.3.1 配置Eclipse連接CVS服務器 304
4.3.2 將項目共享到CVS服務器 305
4.3.3 導入CVS服務器上的項目 306
4.4 文件的落實與更新 307
4.4.1 CVS和VSS的不同之處 307
4.4.2 文件的落實和更新 307
4.4.3 解決文件沖突 308
4.4.4 如何讓CVS忽略掉某些文件 309
4.5 標記版本 310
4.5.1 為項目在CVS上標記一個版本 310
4.5.2 將項目還原為某版本 310
4.7 修正舊版本的BUG 311
4.7.1 把1.0版代碼導入到一個新項目 311
4.7.2 基于1.0版代碼創建一個分支 311
4.7.3 修改代碼解決BUG 312
第5章 Eclipse中JUnit的使用 313
5.1 一個TDD開發實例 313
5.2 JUnit的標準項目結構 316
第2篇 SWT/JFace篇
第6章 SWT起步 319
6.1 SWT簡介 319
6.2 SWT中的包 320
6.3 SWT的HelloWorld 321
6.3.1 創建插件項目 321
6.3.2 創建HelloWorld程序 321
6.3.3 運行HelloWorld 322
6.3.4 HelloWorld更進一步 323
6.3.5 SWT程序的界面結構 323
6.4 SWT事件的寫法 324
6.4.1 匿名內部類寫法 324
6.4.2 命名內部類寫法 325
6.4.3 外部類寫法 325
6.4.4 實現監聽接口的寫法 326
6.4.5 總結 326
6.5 在事件代碼中訪問變量 326
6.6 常用事件監聽器 328
6.6.1 選擇事件監聽器SelectionListener 328
6.6.2 鍵盤事件監聽器KeyListener 329
6.6.3 焦點事件監聽器FocusListener 329
6.6.4 鼠標事件監聽器MouseListener 329
6.6.5 注銷事件監聽器DisposeListener 330
6.6.6 組件專用的事件監聽器 330
6.6.7 通用監聽器Listener 330
第7章 安裝Visual Editor插件 331
7.1 下載Visual Editor 331
7.2 安裝Visual Editor 332
第8章 SWT常用組件 334
8.1 按鈕、復選框、單選框(Button類) 334
8.1.1 一個Button類的實例 334
8.1.2 Button類的式樣表 335
8.1.3 使用事件參數SelectionEvent 336
8.2 組件的常用方法 337
8.3 標簽(Label類) 339
8.3.1 Label類的一個實例 339
8.3.2 Label類的式樣列表 339
8.4 文本框(Text類) 340
8.4.1 一個Text的實例 340
8.4.2 Text類的式樣列表 341
8.4.3 一個編輯框的實例 341
8.4.4 常用方法 342
8.5 下拉框(Combo類) 342
8.5.1 一個Combo類的實例 342
8.5.2 Combo類的式樣列表 343
8.5.3 常用方法 344
8.6 列表框(List類) 344
8.6.1 一個List類的實例 344
8.6.2 List類的式樣表(如表8.5所示) 345
第9章 容 器 類 347
9.1 面板(Composite類) 347
9.1.1 Composite類譜系 347
9.1.2 Composite的用法 347
9.1.3 Composite的常用方法 348
9.2 分組框(Group類) 348
9.3 選項卡(TabFolder類和TabItem類) 348
9.4 分割窗(SashForm類) 350
9.5 帶滾動條的面板(ScrolledComposite類) 351
9.6 窗口容器(Shell類) 352
9.6.1 Shell實例和式樣 352
9.6.2 使窗口屏幕居中 353
9.6.3 兩個Shell窗口的互動 353
9.6.4 另一種窗口(ApplicationWindow類) 354
第10章 布局管理器 356
10.1 布局管理器簡介 356
10.2 充滿式(FillLayout類) 357
10.3 行列式(RowLayout類) 358
10.3.1 使用RowLayout 358
10.3.2 使用RowData控制組件外觀 359
10.4 網格式(GridLayout類) 360
10.4.1 使用GridLayout 360
10.4.5 使用GridData進行復雜布局 361
10.5 堆棧式(StackLayout類) 364
10.6 表格式(FormLayout類) 365
10.6.1 使用marginWidth、marginHeight設置邊距 365
10.6.2 使用FormData 366
10.6.3 FormAttachment類的用法 366
10.7 綜合布局實例 368
第11章 其他SWT組件 374
11.1 工具欄(ToolBar類、ToolItem類、ViewForm類) 374
11.2 動態工具欄(CoolBar類、CoolItem類) 375
11.3 菜單(Menu類,MenuItem類) 378
11.4 滑動條(Slider)、刻度條(Scale)、進度條(ProgressBar) 380
11.5 畫布(Canvas類) 381
11.6 表格(Table類) 383
11.7 樹、表格型樹(Tree類) 384
11.8 瀏覽器(Browser類) 386
11.9 系統托盤(Tray類) 387
11.10 SWT組件的擴展 389
11.10.1 Label的擴展(CLabel類) 389
11.10.2 Text的擴展(StyledText類) 389
第12章 圖像、顏色、字體 391
12.1 圖像(Image類) 391
12.2 Image類的注意事項 393
12.2.1 自己創建的,自己銷毀 394
12.2.2 父組件銷毀,其子組件也會自動銷毀 394
12.3 圖像描述符(ImageDescriptor類) 394
12.3.1 createFromFile方法 395
12.3.2 createFromURL方法 395
12.3.3 ImageDescriptor總結 395
12.4 圖像注冊表(ImageRegistry類) 395
12.5 顏色(Color類)和字體(Font類) 396
第13章 SWT的線程 398
13.1 SWT線程簡介 398
13.2 一個SWT線程的實例 399
13.3 對11.4節進度條實例的改進 404
13.4 狀態欄里進度條 404
13.5 支持動畫GIF的組件 408
第14章 表格(TableViewer類) 412
14.1 概 述 412
14.2 創建表格并顯示數據 413
14.2.1 實例的數據模型介紹 413
14.2.2 創建數據表的實體類 413
14.2.3 數據的生成 414
14.2.4 在表格中顯示數據 416
14.3 響應鼠標雙擊事件 419
14.4 給表格加上右鍵菜單(Action類、ActionGroup類、MenuManager類) 420
14.4.1 Action、ActionGroup、MenuManager介紹 420
14.4.2 創建Action和ActionGroup 420
14.4.3 在主程序中使用ActionGroup、MenuManager 421
14.5 表格的排序(ViewerSorter類) 422
14.5.1 編寫排序器ViewerSorter 422
14.5.2 為表格列添加事件監聽器 424
14.6 給表格加上工具欄(ToolBarManager類) 424
14.6.1 創建Action類并填充進工具欄 425
14.6.2 用ViewForm做布局調整 427
14.7 帶復選框的表格(CheckboxTableViewer類) 428
14.7.1 使用表格的復選框式樣 428
14.7.2 修改MyActionGroup類 428
14.8 讓表格可直接編輯(CellEditor類、ICellModifier接口) 431
14.8.1 使用各種編輯組件CellEditor 431
14.8.2 創建修改器ICellModifier 432
14.9 其他使用技巧 434
14.9.1 表格記錄的過濾 434
14.9.2 控制表格的當前選擇行 434
14.9.3 給表格的單元格設置背景色 435
14.9.4 加快TableItem和記錄之間的查找速度 435
第15章 樹(TreeViewer)和列表(ListViewer) 436
15.1 概 述 436
15.2 前期準備:實例所用數據模型說明 436
15.2.1 建立國家實體和城市實體 436
15.2.2 建立樹結點的接口類 437
15.2.3 讓國家、城市、人三個實體類實現此接口 438
15.3 讓數據在樹中顯示出來 438
15.3.1 創建樹的數據結構 439
15.3.2 創建主程序 440
15.3.3 標簽器(實現ILabelProvider接口) 440
15.3.4 內容器(實現ITreeContentProvider接口) 441
15.4 給樹加上右鍵菜單,及實現菜單相應功能 443
15.5 不同結點顯示不同菜單 447
15.6 表格型樹 448
15.7 帶復選框的樹 449
15.6 列表(ListViewer類) 451
15.6.1 ListViewer簡介 451
15.6.2 ListViewer的實例 452
15.6.3 ListViewer的常用方法 452
第16章 對 話 框 454
16.1 對話框(Dialog類) 454
16.1.1 對話框簡介 454
16.1.2 信息提示框(MessageDialog類) 454
16.1.3 輸入值對話框(InputDialog類) 456
16.1.4 自定義對話框(Dialog類) 457
16.1.5 對話框的設置與取值 459
16.1.6 封裝對話框中的數據到一個數據類 461
16.1.7 保存對話框的值(IDialogSettings類) 463
16.1.8 帶提示欄的對話框(TitleAreaDialog類) 465
16.2 向導式對話框(WizardDialog類) 466
16.2.1 向導式對話框簡介 466
16.2.2 向導式對話框實例 466
16.3 進度條對話框(ProgressMonitorDialog類) 470
16.3.1 進度條對話框簡介 470
16.3.2 標準的進度條對話框 471
16.3.3 反復顯示的進度條對話框 472
16.3.4 封裝反復顯示的進度條對話框 474
16.3.5 用動畫GIF來表示進度 476
16.4 其他類型對話框 477
16.4.1 信息提示框(MessageBox類) 477
16.4.2 顏色選擇對話框(ColorDialog類) 478
16.4.3 字體選擇對話框(FontDialog類) 479
16.4.4 打印設置對話框(PrintDialog類) 479
16.4.5 目錄選擇對話框(DirectoryDialog類) 480
16.4.6 文件選擇對話框(FileDialog類) 480
第17章 Form的使用 482
17.1 Form概述 482
17.2 Form的HelloWorld 483
17.3 在Form中使用SWT組件 484
17.4 Form的新布局 485
17.4.1 TableWrapLayout布局 485
17.4.2 ColumnLayout布局 486
17.5 Form的專用組件 487
17.5.1 超鏈接(Hyperlink類) 487
17.5.2 帶圖像的超鏈接(ImageHyperlink類) 488
17.5.3 可伸縮面板(ExpandableComposite類) 488
17.5.4 可伸縮項(Section類) 489
17.5.5 網頁效果的文本(FormText類) 490
17.5.6 帶標題的面板(Form類) 491
17.5.7 帶滾動條的Form面板(ScrolledForm類) 492
17.5.8 用面板做分隔欄(createCompositeSeparator方法) 492
17.5.9 堆棧式面板(ScrolledPageBook類) 493
第18章 高級話題 494
18.1 嵌入AWT/SWING組件 494
18.2 組件的拖拽功能(Drag and Drop) 494
18.3 訪問ActiveX 498
18.3.1 在SWT中打開Word文檔 498
18.3.2 在OLE容器里加入菜單 498
18.3.3 調用ActiveX控件的內部方法 499
18.3.4 使用Flash控件 500
18.4 數據綁定(JFace data binding framework) 502
18.4.1 準備工作 502
18.4.2 數據綁定的簡單示例 504
18.4.3 使用BindSpec類定義特殊綁定 505
18.4.4 TableViewer的數據綁定 508
18.4.5 Combo綁定和聯動 510
第3篇 插件開發篇
第19章 Eclipse插件開發起步 512
19.1 Eclipse插件開發概述 512
19.1.1 插件開發簡介 512
19.1.2 Eclipse插件開發的優勢和不足 512
19.2 創建HelloWorld插件 513
19.2.1 新建插件項目 513
19.2.2 運行插件 513
19.3 解讀HelloWorld插件 514
19.3.1 Activator.java 514
19.3.2 SampleAction.java 515
19.3.3 plugin.xml 515
19.3.4 MANIFEST.MF 517
19.3.5 build.properties 518
19.4 修改HelloWorld插件 518
19.4.1 規范包名 518
19.4.2 修改插件信息 519
19.4.3 "運行"窗口 520
19.4.4 精簡依賴插件,處理依賴錯誤 520
第20章 常用插件擴展點 522
20.1 加入透視圖(perspectives) 522
20.1.1 修改plugin.xml文件,設置透視圖的擴展點 522
20.1.2 建立透視圖類 523
20.1.3 運行插件 523
20.1.4 總結 523
20.2 在透視圖中加入視圖(views) 523
20.2.1 修改plugin.xml文件,設置視圖的擴展點 523
20.2.2 創建視圖類 525
20.2.3 修改透視圖類SamplePerspective 525
20.2.4 運行插件 526
20.3 在視圖之間實現事件監聽 526
20.3.1 主動式 526
20.3.2 監聽式 528
20.4 給視圖加下拉菜單和按鈕 531
20.4.1 創建ActionGroup類 531
20.4.2 修改View1類 532
20.5 加入編輯器(editors) 533
20.5.1 修改plugin.xml文件,設置三個編輯器的擴展點 533
20.5.2 創建三個編輯器類 534
20.5.3 創建IEditorInput 535
20.5.4 打開編輯器 536
20.5.5 總結 537
20.6 編輯器類方法的使用說明 538
20.6.1 EditorPart方法的執行情況 538
20.6.2 各方法的作用及含義 538
20.6.3 一個編輯器實例 539
20.7 加入首選項(preferencePages) 540
20.7.1 修改plugin.xml文件,設置首選項的擴展點 541
20.7.2 建立首選項各結點對應的類 541
20.7.3 運行插件 544
20.7.4 總結 544
20.8 加入幫助(toc) 545
20.8.1 修改plugin.xml文件,設置三個幫助的擴展點 545
20.8.2 編寫幫助目錄文件toc 546
20.8.3 創建相應的幫助文檔 547
20.8.4 運行插件 547
20.8.5 總結 548
20.9 上下文幫助(contexts) 548
20.9.1 在plugin.xml中設置擴展點 548
20.9.2 編寫配置文件mycontexts.xml 549
20.9.3 創建HTML幫助文件 549
20.9.4 將幫助信息和界面組件關聯起來 549
20.9.5 總結 550
第21章 Eclipse插件的國際化 551
21.1 國際化簡介 551
21.2 為國際化創建一個插件的"段項目" 551
21.3 類程序的國際化 552
21.3.1 國際化前的準備工作 552
21.3.2 創建Message類 553
21.3.3 創建*.properties資源文件 554
21.3.4 修改myplugin項目的程序 556
21.3.5 運行插件,測試國際化 556
21.3.6 實踐建議 557
21.4 plugin.xml的國際化 558
21.4.1 創建plugin.xml的資源文件 558
21.4.2 修改plugin.xml文件 558
21.4.3 運行插件,測試plugin.xml的國際化 558
21.5 其他XML文件的國際化 559
21.5.1 在myplugin.nl1項目創建國際化所需的目錄結構 559
21.5.2 修改各語言的XML文檔 559
21.6 使用"外部化字符串"向導 560
21.6.1 運用"外部化字符串"向導的步驟 560
21.6.2 向導完成后的處理 561
第22章 報表:用POI與Excel交互 562
22.1 POI的下載與安裝 562
22.1.1 POI的下載 562
22.1.2 POI的安裝 562
22.2 將數據導出成Excel的實例 564
22.2.1 創建一個空白的Excel文件 564
22.2.2 往Excel單元格中寫入信息 564
22.2.3 中文化的問題 565
22.3 使 用 式 樣 566
22.3.1 日期式樣及文字對齊式樣 566
22.3.2 邊框式樣 567
22.3.3 背景色及底紋式樣 568
22.3.4 合并單元格 568
22.3.5 字體式樣 569
22.4 更多的用法 569
22.4.1 設置頁眉頁腳 569
22.4.2 凍結和分割窗 570
22.4.3 浮動文字框及在表中畫圖 571
22.4.4 設置打印的范圍 572
22.4.5 讀取及修改Excel 572
第23章 項目的打包與發行 573
23.1 應用程序項目的打包與發行 573
23.1.1 簡介 573
23.1.2 打包的具體操作步驟 573
23.1.3 其他得到JAR包的方式 576
23.1.4 用Fat Jar插件打包項目 577
23.1.5 讓用戶不必另外安裝JRE環境 578
23.1.6 創建EXE執行文件及美化圖標 578
23.1.7 打包的其他說明 579
23.2 插件項目的打包與發行 580
23.2.1 簡介 580
23.2.2 插件打包的具體操作步驟 580
23.2.3 測試打包效果 581
23.3 用Ant來打包 581
23.3.1 檢查環境變量 582
23.3.2 準備Ant腳本所需文件 582
23.3.3 創建Ant腳本 582
23.3.4 解讀Ant腳本 584
23.3.5 運行Ant腳本 587
第4篇 RCP開發篇
第24章 RCP平臺開發起步 588
24.1 創建RCP項目(V001) 588
24.2 解讀RCP項目 589
24.2.1 plugin.xml:設置擴展點 590
24.2.2 Application類:入口類 590
24.2.3 ApplicationWorkbenchAdvisor類:確定透視圖 591
24.2.4 ApplicationWorkbenchWindowAdvisor類:工作臺窗口 591
24.2.5 ApplicationActionBarAdvisor類:窗口元素 592
24.3 主菜單、工具欄、狀態欄(V002) 593
24.3.1 打開主菜單、工具欄、狀態欄 593
24.3.2 添加多個Action 593
24.3.3 修改Activator類 595
24.4 全局快捷鍵(V003) 595
24.5 重構和項目調整 596
24.3.1 重構(V004) 596
24.3.2 項目調整(V005) 597
第25章 建立MySQL數據庫環境(V006) 598
25.1 下載MySQL等軟件包 598
25.1.1 下載MySQL 598
25.1.2 下載JDBC連接包 598
25.1.3 下載GUI Tools 599
25.2 安裝MySQL 599
25.3 RCP程序連接數據庫 601
25.3.1 安裝JDBC連接包 601
25.3.2 建庫和建表 602
25.3.3 插入數據和查詢數據 604
25.4 解決Java的中文問題 605
25.4.1 字符集簡介 606
25.4.2 SMS項目的字符集配置方案 607
第26章 需求分析及數據模型(V007) 609
26.1 軟件開發過程 609
26.2 界面原型 610
26.3 面向對象的分析與設計 612
26.3.1 用戶對象:學生、老師 613
26.3.2 課程(Course)、班級(SchoolClass)、年級(Grade)對象 615
26.3.3 學生成績(StudentScore)、考試(Exam)對象 617
26.3.4 總結 618
26.4 創建數據表 618
26.4.1 創建表的方式方法 619
26.4.2 創建表的SQL語句 620
26.4.3 在MySQL Query Browser中運行SQL腳本 622
26.5 給數據表插入數據 622
第27章 創建主界面框架 625
27.1 創建主功能視圖(V008) 625
27.2 創建功能導航器中的樹(V009) 627
27.3 創建項目的圖像注冊表(V010) 630
第28章 用戶登錄與退出 634
28.1 實現方案 634
28.2 界面部分的源代碼(V011) 635
28.3 數據庫部分的源代碼(V011) 640
28.4 讓軟件適應多種數據庫(V012) 645
28.4.1 解決方案 645
28.4.2 具體實現的源代碼 646
第29章 "檔案管理"編輯器的實現 648
29.1 前 言 648
29.2 實現編輯器及排序、翻頁功能(V013) 648
29.3 實現刪除用戶功能(V014) 660
29.4 實現新增用戶的向導對話框(V015) 661
29.5 實現修改用戶的功能(V016) 674
29.6 讓編輯器實現登錄退出監聽(V017) 679
第30章 "搜索視圖"的實現(V018) 682
30.1 前 言 682
30.2 單擊結點打開視圖 682
30.3 實現搜索視圖SearchView 683
30.4 實現"成績管理"編輯器 687
第31章 讓軟件更友好 692
31.1 首選項的實現(V019) 692
31.1.1 在RCP項目中顯示首選項窗口 692
31.1.2 首選項的源代碼 693
31.1.3 將程序中的設置值改成取之于首選項的設置 697
31.1.4 運行 698
31.2 進度條的實現(V020) 698
31.2.1 為演示實例做準備 698
31.2.2 基本實例 698
31.2.3 定時執行任務和Job監聽器 699
31.2.4 IProgressService類的使用 700
31.3 狀態欄的使用(V021) 701
31.4 使用控制臺視圖 702
31.4.1 程序直接調用方式(V022) 702
31.4.2 控制臺的擴展點(V023) 703
第32章 RCP項目的打包與發行(V024) 706
32.1 使用product文件配置和導出項目 706
32.1.1 創建product文件 706
32.1.2 修改product文件的"概述" 頁 707
32.1.3 修改product文件的"啟動程序"頁 708
32.1.4 修改product文件的"標記"頁 708
32.1.5 弧型Tab、進度條等效果 709
32.1.6 導出SMS項目 710
32.2 處理RCP項目的運行錯誤 711
32.3 在Java Web Start中使用RCP 713
32.3.1 WebRCP簡介 713
32.3.2 在WebRCP中安裝SMS項目的操作步驟 713
32.3.3 運行,查看WebRCP效果 715
32.4 Java Web Start的證書 715
32.4.1 生成證書 715
32.4.2 用證書為webrcp.jar文件進行數字簽名 716
32.4.3 替換證書后的效果 716
第33章 讓軟件具有更好的擴展性 718
33.1 將軟件模塊插件化的思路 718
33.2 把插件安裝到RCP項目 719
33.3 插件之間的互相依賴 719
33.4 多個插件共享jar包 720
33.5 自定義擴展點(V025) 720
33.5.1 增加一個自定義擴展點 721
33.5.2 使用自定義擴展點 721
33.5.3 創建擴展點定義的類PluginNavigatorEntry 721
33.5.4 讀取擴展點定義的信息 722
33.5.5 總結 723
33.5.6 創建擴展點的schema文件 723
第5篇 Web開發篇
第34章 Web環境的搭建(V001) 725
34.1 概述 725
34.2 Tomcat的下載與安裝 725
34.2.1 下載Tomcat 726
34.2.2 安裝Tomcat 726
34.2.3 確認Tomcat安裝成功 727
34.3 Lomboz的下載與安裝 728
34.3.1 下載Lomboz 728
34.3.2 安裝Lomboz 728
34.3.3 Lomboz的環境設置 729
34.3.4 使用Lomboz應注意的問題 730
34.5 JSP的HelloWorld 730
34.5.1 創建一個Web項目 730
34.5.2 創建一個JSP文件 732
34.5.3 web.xml錯誤的解決 732
34.5.4 在Lomboz中啟動Tomcat 733
34.5.5 一些相關問題 735
34.6 配置Tomcat的數據庫連接池 735
34.6.1 復制JDBC連接包 735
34.6.2 安裝Tomcat的管理模塊并配置 735
34.6.3 修改Tomcat的context.xml文件 736
34.6.5 測試數據庫連接池 736
第35章 一個純JSP+JavaBean實例(V002) 739
35.1 創建JavaBean 739
35.1.1 修改AbstractDbOperate類 739
35.1.2 修改數據庫連接管理器ConnectManager類 740
35.1.3 在Constants類中增加一個字符串常量 740
35.1.4 修改工廠類SmsFactory 741
35.2 編寫JSP文件 741
35.2.1 實例的流程及效果 741
35.2.2 JSP文件說明 742
35.2.3 JSP文件的源代碼 742
35.2.4 使用JSP應注意的問題 745
第36章 在Eclipse中使用Struts 747
36.1 Struts的下載及安裝 747
36.1.1 下載 747
36.1.2 安裝 748
36.2 Struts入門實例(V003) 749
36.2.1 Struts原理簡介 749
36.2.2 用戶登錄實例 751
36.3 讓Dreamweaver支持Struts標簽 757
36.3.1 下載與安裝支持Struts標簽的插件 757
36.3.2 將Struts標簽添加到Dreamweaver中 758
36.3.3 插件的效果 758
36.4 深入struts-config.xml 759
36.4.1 頁面轉發 759
36.4.2 <form-beans>項之動態ActionForm 760
36.4.3 <action-mappings>項 760
36.4.4 使用DispatchAction類 761
36.4.5 使用多個struts-config.xml配置文件 762
36.4.6 解決命名沖突 762
36.5 驗證的多種方法 763
36.5.1 方法一 763
36.5.2 方法二(V004) 764
36.6 使用更多的Struts標簽 770
36.6.1 獲知更多的標簽 770
36.6.2 表單類標簽 771
36.6.3 其他說明 773
第37章 在Eclipse中使用Hibernate 774
37.1 概 述 774
37.1.1 持久化框架產生的背景和現狀 774
37.1.2 Hibernate簡介 775
37.1.3 本章說明 775
37.2 Hibernate的下載和安裝 776
37.2.1 下載 776
37.2.2 安裝 777
37.3 一個簡單的Hibernate實例(V005) 777
37.3.1 創建Hibernate配置文件:hibernate.cfg.xml 777
37.3.2 創建XML映射文件:model.hbm.xml 778
37.3.3 創建HibernateUtil類 779
37.3.4 創建GradeManager類 780
37.3.5 創建hibernateTest.jsp 781
37.3.6 總結及實踐建議 782
37.4 繼續深入使用Hibernate(V006) 782
37.4.1 修改XML映射文件 783
37.4.2 數據庫操作類的實現 786
37.4.3 修改使用DbOperate類的程序 788
37.5 實現用戶的修改、刪除功能(V007) 790
37.5.1 界面效果及功能說明 790
37.5.2 在DbOperate類增加方法 790
37.5.3 在用戶列表userList.jsp文件增加兩個超鏈接 791
37.5.4 在Struts配置文件struts-config.xml中增加一個action定義 792
37.5.5 修改UserForm類 792
37.5.6 創建UserAction類 793
37.5.7 創建modifyUser.jsp 795
37.6 解決Tomcat的中文問題(V008) 796
37.7 Web的打包發行 796
37.8 Hibernate的自動生成工具 797
37.8.1 由XML映射文件生成數據庫表(V009) 797
37.8.2 使用Hibernate Tools 798