@import url(http://www.blogjava.net/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