第一篇 Java语言基础知识 1
第1章 Java语言介绍 1
1.1 Java语言的由来及发展前景 1
1.2 Java语言的特点 2
1.2.1 Simple(简单) 2
1.2.2 Object-Oriented(面向对象语言) 3
1.2.3 Distributed(分布式) 3
1.2.4 Interpreted(解释型) 4
1.2.5 Robust(健壮) 4
1.2.6 Security(安全性) 4
1.2.7 Architecture-Neutral(平台无关性) 5
1.2.8 Portable(可移植) 5
1.2.9 Multi-Threaded(多线程) 5
1.2.10 Dynamic(动态) 6
1.2.11 GarbageCollection(可收集无用存储单元) 6
1.3 Java体系结构 6
1.3.1 Java体系 6
1.3.2 Java虚拟机 7
1.3.3 Java API 10
1.4 Java语言应用 11
1.4.1 Java小程序(Applet) 11
1.4.2 Java应用程序(Application) 13
1.4.3 Java与C、C++ 15
第2章 Java语言基础 17
2.1 基本数据类型 17
2.1.1 概述 17
2.1.2 简单数据类型的实例化——变量与常量 17
2.1.3 整型数据 18
2.1.4 浮点型(实型)数据 20
2.1.5 字符型数据 20
2.1.6 布尔型数据 21
2.1.7 各类型数据间的优先关系和相互转换 22
2.2 运算符与表达式 23
2.2.1 算术运算符 23
2.2.2 关系运算符 24
2.2.3 条件运算符 25
2.2.4 逻辑运算符 25
2.2.5 位运算符 25
2.2.6 赋值运算符 26
2.2.7 扩展赋值运算符 27
2.2.8 其他运算符 27
2.2.9 表达式 28
2.3 数组 29
2.3.1 一维数组 29
2.3.2 多维数组 31
2.3.3 字符串数组 33
2.4 流程控制语句 35
2.4.1 结构化程序设计的3种基本流程 35
2.4.2 条件语句 36
2.4.3 循环语句 40
2.4.4 跳转语句 43
2.4.5 其他语句 46
第3章 Java面向对象编程基础 47
3.1 面向对象程序设计基本概念 47
3.1.1 对象 47
3.1.2 面向对象的编程技术 48
3.1.3 消息 49
3.2 类 50
3.2.1 类的创建 50
3.2.2 类体 52
3.2.3 类的构造方法 54
3.2.4 类的继承 55
3.2.5 类的多态 58
3.3 包和接口 63
3.3.1 包 63
3.3.2 接口 66
3.4 异常 72
3.4.1 异常与异常类 72
3.4.2 异常处理 76
3.4.3 创建用户自己的异常 89
3.4.4 总结 95
第4章 多线程编程 97
4.1 多线程的主要概念 97
4.1.1 程序、进程与线程 97
4.1.2 Java中线程的生命周期 98
4.1.3 线程调度 101
4.2 多线程的实现 104
4.2.1 Thread类与Runnable接口 105
4.2.2 实现多线程的2种方法 106
4.3 多线程的同步 110
4.4 线程组 113
第5章 输入输出(I/O)处理与序列化 114
5.1 输入/输出基础 114
5.1.1 流的概念 114
5.1.2 字节流与字符流 114
5.1.3 预定义流 116
5.2 字节流类 116
5.2.1 InputStream(输入流) 116
5.2.2 OutputStream(输出流) 117
5.2.3 FileInputStream(文件输入流) 117
5.2.4 FileOutputStream(文件输出流) 119
5.2.5 ByteArrayInputStream(字节数组输入流) 120
5.2.6 ByteArrayOutputStream(字节数组输出流) 122
5.2.7 过滤字节流 123
5.2.8 缓冲字节流 123
5.2.9 SequenceInputStream(顺序输入流) 126
5.2.10 RandomAccessFile(随机访问文件类) 126
5.3 字符流 127
5.3.1 Reader 127
5.3.2 Writer 128
5.3.3 FileReader 128
5.3.4 FileWriter 129
5.3.5 CharArrayReader 130
5.3.6 CharArrayWriter 130
5.3.7 BufferedReader 131
5.3.8 BufferedWriter 132
5.3.9 PushbackReader 132
5.4 控制台输入/输出 133
5.4.1 读取控制台输入 133
5.4.2 向控制台写输出 135
5.5 序列化 137
5.5.1 序列化的概念 137
5.5.2 Serializable接口 137
5.5.3 Externalizable接口 137
5.5.4 ObjectOutput接口 138
5.5.5 ObjectOutputStream类 138
5.5.6 ObjectInput接口 139
5.5.7 ObjectInputStream类 139
5.5.8 序列化示例 140
5.5.9 序列化的一些相关问题 143
第6章 Java网络类库 144
6.1 URL编程 144
6.1.1 创建URL对象 144
6.1.2 获取URL对象的属性 145
6.1.3 使用URL类访问网络资源 146
6.2 Socket编程 148
6.2.1 基于连接的流式套接字(Socket)通信编程 148
6.2.2 基于无连接的数据报(Datagram)通信编程 156
第7章 使用Java本机接口(JNI) 160
7.1 JNI概述 160
7.1.1 JNI的功能 160
7.1.2 native关键字 161
7.1.3 使用javah.exe 162
7.2 使用本机方法编写Java程序 163
7.2.1 编写Java程序 163
7.2.2 用javac编译源文件 164
7.2.3 用javah生成头文件 165
7.2.4 实现本机方法 166
7.2.5 生成动态库 166
7.2.6 运行Java程序 167
7.3 集成Java程序与本机方法 167
7.3.1 声明本机方法 167
7.3.2 Java程序与本机方法之间数据类型对应关系 169
7.4 在本机方法中访问Java程序 170
7.4.1 访问Java字符串 170
7.4.2 访问Java数组 172
7.4.3 调用Java方法 175
7.4.4 访问Java类的成员变量 179
7.4.5 在本机方法中处理异常 182
7.4.6 多线程与本机方法 183
7.4.7 使用C++进行JNI编程 184
7.4.8 JNI函数一览 185
第二篇 JBuilder 8 IDE开发环境 188
第8章 JBuilder 8概述 188
8.1 JBuilder 8的新特性 188
8.1.1 JDK 1.4.1 188
8.1.2 工程管理 188
8.1.3 调试功能的增强 189
8.1.4 在单元测试方面的改进 190
8.1.5 UML 190
8.1.6 Web development 191
8.1.7 Web Services 191
8.1.8 XML 192
8.1.9 运行设置 193
8.1.10 编译系统 193
8.1.11 配置 194
8.1.12 生产效率的提高 195
8.1.13 团队开发的改进 196
8.1.14 支持J2EE服务器 196
8.1.15 JavaDoc的改进 197
8.1.16 Refactoring的改进 197
8.1.17 Accessibility的改进 197
8.1.18 总结 197
8.2 JBuilder 8的安装 197
8.2.1 安装环境 197
8.2.2 安装步骤 198
8.2.3 让JBuilder 8与其他版本的JBuilder共存 204
8.3 JBuilder 8应用浏览器(AppBrowser)简介 204
8.3.1 主菜单 204
8.3.2 主工具条 215
8.3.3 状态条 215
8.3.4 工程窗口 216
8.3.5 内容窗口 217
8.3.6 结构窗口 218
8.3.7 消息窗口 221
8.3.8 在应用浏览器中导航 221
8.3.9 定制主窗口的风格 223
8.4 编辑器 224
8.4.1 键盘映射 225
8.4.2 拆分显示编辑器中的文件 225
8.4.3 行号 226
8.4.4 代码格式化 227
8.4.5 代码预览 228
8.4.6 设置编辑器其他选项 232
8.5 对象库 234
8.5.1 General选项卡 234
8.5.2 Project选项卡 235
8.5.3 Web选项卡 235
8.5.4 XML选项卡 236
8.5.5 CORBA选项卡 236
8.5.6 Build选项卡 236
8.5.7 Enterprise选项卡 236
8.5.8 Test选项卡 237
8.5.9 Web Services选项卡 237
8.6 BeansExpress 238
8.6.1 Properties设计器 238
8.6.2 BeanInfo设计器 238
8.6.3 Events设计器 238
8.6.4 Property Editors设计器 238
8.6.5 创建Bean 239
8.7 使用历史浏览 239
8.7.1 生成多个版本的文件 239
8.7.2 使用Contents选项卡 241
8.7.3 使用Diff选项卡 243
8.7.4 使用Info选项卡 245
8.7.5 使用Merge Conflicts选项卡 246
8.7.6 比较文件 247
第9章 使用JBuilder 8.0开发应用程序 249
9.1 创建HelloWorld应用程序 249
9.1.1 创建工程 249
9.1.2 生成源代码 251
9.1.3 编译并运行应用程序 253
9.1.4 定制用户界面 253
9.1.5 增加组件到应用程序 254
9.1.6 编辑源代码 255
9.1.7 运行应用程序 256
9.1.8 为按钮增加一个事件 256
9.1.9 完成用户界面的设计 258
9.1.10 发布应用程序 259
9.2 JBuilder 8中的可视化程序设计 260
9.2.1 组件和容器 260
9.2.2 可视化设计工具 262
9.2.3 事件处理 266
9.2.4 创建用户界面 269
9.2.5 创建菜单 273
9.2.6 使用布局管理器 278
9.2.7 管理组件板 281
9.2.8 序列化JavaBeans组件 285
9.2.9 使用组件定制器 287
9.2.10 处理资源包(resource bundle)字符串 287
9.3 创建与管理工程 288
9.3.1 工程 288
9.3.2 工程处理 288
9.3.3 文件处理 290
9.3.4 添加一个新的目录视图 291
9.3.5 设置工程属性 292
9.3.6 库 296
9.3.7 包 298
9.3.8 JBuilder中的路径 300
9.3.9 多工程处理 302
9.3.10 工程组 302
第三篇 数据库应用程序开发 305
第10章 JBuilder数据库程序开发概述 305
10.1 理解JBuilder数据库应用程序 305
10.1.1 理解DataExpress的体系结构 305
10.1.2 DataExpress组件介绍 307
10.2 JDBC概述 308
10.2.1 JDBC的框架结构 308
10.2.2 使用JDBC访问数据库 309
10.3 设置JBuilder数据库环境 311
10.3.1 安装JDataStore 311
10.3.2 安装InterBase和InterClient 312
10.3.3 添加JDBC驱动 313
第11章 JBuilder数据库程序开发 315
11.1 连接数据库 315
11.1.1 使用JDataStore JDBC驱动连接数据库 315
11.1.2 使用InterClient JDBC驱动连接数据库 318
11.2 在数据源中获取数据 319
11.2.1 查询数据库 320
11.2.2 参数化查询访问数据库 322
11.3 使用存储过程获取数据 326
11.3.1 存储过程转义序列、SQL语句及服务器指定过程调用 327
11.3.2 手工为教程创建表和过程 328
11.3.3 示例:使用InterBase存储过程 330
11.3.4 示例:以Oracle PL/SQL存储过程的方式使用参数 330
11.3.5 使用Sybase存储过程 331
11.4 使用列 331
11.4.1 理解列属性和元数据 331
11.4.2 优化查询 334
11.5 解析数据到数据源 337
11.5.1 解析QueryDataSet修改的数据 338
11.5.2 使用存储过程解析数据 339
11.5.3 对存储过程编码来解析数据 339
11.5.4 从多个表中解析数据 341
11.6 创建主-从关系 343
11.6.1 定义一个主-从关系 343
11.6.2 提取从数据 346
11.6.3 编辑主-从数据集中的数据 347
11.6.4 创建主-从关系的步骤 348
11.6.5 在主-从关系中解析数据 348
第12章 使用数据模块简化数据访问 350
12.1 使用可视化工具创建数据模块 350
12.1.1 使用Data Module向导 350
12.1.2 添加数据组件到数据模块 351
12.1.3 添加事务逻辑到数据模块 352
12.2 使用数据模块 352
12.3 使用Data Modeler创建数据模块 354
12.3.1 用Data Modeler创建查询 354
12.3.2 创建数据库应用程序 360
第13章 数据过滤、排序和定位 365
13.1 获取数据 365
13.2 过滤数据 366
13.3 排序数据 369
13.3.1 在JdbTable中排序数据 369
13.3.2 使用可视化设计工具排序数据 369
13.3.3 排序与索引 371
13.3.4 在代码中排序数据 372
13.4 定位数据 372
13.4.1 使用JdbNavField定位数据 372
13.4.2 程序定位数据 373
13.4.3 使用DataRow定位数据 374
13.4.4 使用定位选项 374
13.4.5 定位任何数据类型的数据 375
13.4.6 DataRow与DataSet中的列次序 376
13.5 使用控件和事件 376
13.5.1 同步可视化组件 376
13.5.2 在UI组件中访问数据和模型信息 376
13.5.3 显示状态信息 376
13.5.4 处理错误和异常 377
第14章 从文本文件中导入/导出数据 379
14.1 准备知识 379
14.1.1 在编辑器中添加列到TableDataSet 379
14.1.2 从JDBC数据源中获取数据 380
14.1.3 导出数据 380
14.2 从文本文件导入导出数据的程序实例 381
14.2.1 程序实例 381
14.2.2 导入导出格式化数据 385
第15章 使用数据库浏览器 388
15.1 概述 388
15.2 查看数据库对象 389
15.2.1 数据库连接 389
15.2.2 表 390
15.2.3 视图 390
15.2.4 系统表 391
15.2.5 过程 391
15.3 操作数据库对象 391
15.3.1 Definition选项卡 391
15.3.2 Enter SQL选项卡 391
15.3.3 Data选项卡 392
15.3.4 Summary选项卡 393
15.4 理解数据库浏览器环境 393
15.4.1 菜单 394
15.4.2 工具栏 395
15.5 创建表 395
15.5.1 创建表并定义列 395
15.5.2 更改SQL语句 396
15.6 数据库管理 396
15.6.1 创建SQL数据源 396
15.6.2 使用JBuilder用数据填充SQL表 397
15.6.3 删除表 397
15.7 监视数据库连接 397
15.7.1 理解JDBC Monitor界面 398
15.7.2 程序运行时使用JDBC Monitor 398
第四篇 企业级应用程序开发 400
第16章 开发网络应用程序 400
16.1 概述 400
16.1.1 Servlets 400
16.1.2 JavaServer Pages(JSP) 401
16.1.3 InternetBeans Express 402
16.1.4 Struts 402
16.1.5 JavaServer Pages Standard Tag Library(JSTL) 403
16.1.6 Applet 403
16.1.7 如何选择合适的网络应用程序技术 404
16.1.8 网络应用程序基本开发步骤 404
16.1.9 网络应用程序与分布式应用程序 405
16.2 使用WebApp和WAR文件 405
16.2.1 WebApp 405
16.2.2 WAR文件 408
16.3 配置网络服务器 409
16.3.1 查看Tomcat的配置 409
16.3.2 选择服务器 409
16.3.3 配置IDE 411
16.4 在JBuilder中运行网络应用程序 412
16.4.1 创建运行时配置 412
16.4.2 设置运行属性 414
16.4.3 编译servlet或JSP 415
16.4.4 运行servlet或JSP 415
16.4.5 调试servlet或JSP 417
16.5 配置网络应用程序 417
16.5.1 概述 418
16.5.2 编辑配置描述符 418
16.6 使用Java Web Start启动网络应用程序 420
16.6.1 有关使用Java Web Start的应用程序 420
16.6.2 安装Java Web Start 421
16.6.3 Java Web Start与JBuilder 422
第17章 开发XML应用程序 424
17.1 创建XML文档 424
17.1.1 手工创建XML文档 424
17.1.2 使用向导创建XML文档 426
17.2 检验XML文档的合法性 428
17.3 浏览XML文档 429
17.3.1 使用XML浏览器 430
17.3.2 设置XML选项 431
17.4 发布XML文档 432
17.4.1 使用Cocoon发布XML 432
17.4.2 转换XML文档 435
17.5 编程处理XML文档 436
17.5.1 创建SAX句柄 436
17.5.2 通过数据绑定来操作XML文档 439
第18章 开发基于CORBA的分布式应用程序 442
18.1 CORBA概述 442
18.1.1 基本概念 442
18.1.2 CORBA与JBuilder 443
18.1.3 CORBA与RMI 443
18.2 配置JBuilder 443
18.3 用Java定义CORBA接口 445
18.3.1 关于java2iiop和java2idl编译器 445
18.3.2 访问java2iiop和java2idl编译器 446
18.4 创建一个CORBA应用程序 447
18.4.1 创建工程 447
18.4.2 用IDL定义CORBA对象的接口 448
18.4.3 生成占位程序和框架程序 448
18.4.4 实现客户端 449
18.4.5 实现服务器 451
18.4.6 为CORBA接口提供实现 451
18.4.7 编译应用程序 452
18.4.8 运行Java应用程序 452
第19章 开发EJB应用 454
19.1 EJB概述 454
19.1.1 EJB的优点 454
19.1.2 EJB程序开发中的角色 454
19.1.3 EJB体系结构 455
19.1.4 enterprise beans的种类 457
19.1.5 远程访问与本地访问 460
19.2 配置目标应用程序服务器 461
19.2.1 在JBuilder中配置服务器 461
19.2.2 添加服务包 462
19.2.3 使ORB在JBuilder中可用 462
19.2.4 选择一个服务器 463
19.2.5 设置JDBC驱动 464
19.3 创建EJB 2.0模块 464
19.3.1 使用EJB module向导创建EJB module 464
19.3.2 从现有的部署描述符创建EJB module 465
19.4 创建EJB 2.0 session bean与message-driven bean 466
19.4.1 显示EJB Designer 466
19.4.2 创建session beans 467
19.4.3 修改bean 469
19.4.4 导入beans 471
19.4.5 用视图管理beans 472
19.4.6 创建message-driven beans 473
19.4.7 删除beans 474
19.4.8 EJB Designer如何命名EJB文件 474
19.4.9 查看部署描述符 475
19.4.10 设置有关EJB Designer的IDE选项 476
19.5 创建EJB 2.0 entity beans 476
19.5.1 从导入的数据源创建CMP 2.0 entity beans 477
19.5.2 从entity beans创建模式 481
19.5.3 导出数据源 481
19.5.4 创建BMP entity beans 481
19.6 编译enterprise beans 481
19.6.1 设置EJB module或EAR group的build属性 481
19.6.2 设置bean的build属性 482
19.6.3 编译bean 483
19.6.4 JAR文件 483
19.7 运行和测试enterprise beans 483
19.7.1 创建测试客户应用程序 484
19.7.2 使用测试客户应用程序 486
19.7.3 测试enterprise bean 487
19.8 部署enterprise beans 489
19.8.1 部署一个或多个JAR文件 489
19.8.2 部署到非Borland(non-Borland)服务器 490
19.8.3 使用Properties对话框设置部署选项 490
19.8.4 热部署(hot deploying)到应用程序服务器 491