第一部分 Java基础 3
第一章 Java概论 3
1.1 Java的由来与特点 3
1.1.1 Java的由来 3
1.1.2 Java主要特点 4
1.1.3 Java的关键特性 6
1.2 “Hello World”应用程序的编写、编译和运行 8
1.2.1 创建“Hello World”应用程序 9
1.2.2 创建“Hello World”小应用程序 10
小结 12
2.1.1 Java简单数据类型 13
2.1 Java的数据类型 13
第二章 Java语言基础 13
2.1.2 数组 15
2.1.3 类型转换 15
2.2 Java变量、赋值、初始化 16
2.2.1 声明变量 16
2.2.2 变量初始化 17
2.2.3 变量和作用域 19
2.3 Java的运算符 22
2.3.1 算术运算符 23
2.3.2 关系运算符 23
2.3.3 布尔逻辑运算符 24
2.3.4 位运算符 24
2.4.1 分支语句 25
2.4 Java语言的控制结构 25
2.4.2 循环语句 31
2.4.3 例外处理语句 35
小结 37
第三章 Java与对象编程 38
3.1 对象技术的基本术语 38
3.2 类 40
3.2.1 类声明 40
3.2.2 类的基本结构 41
3.2.3 成员变量 41
3.2.4 成员函数(方法) 43
3.2.5 静态成员 44
3.2.6 方法重载 45
3.2.7 构造方法 46
3.2.8 finalize()方法 47
3.3 继承 47
3.4 接口 56
3.5 包 58
小结 59
第四章 Java高级特性 60
4.1 事件模型与AWT 60
4.1.1 两种事件处理机制 60
4.1.2 AWT事件类 64
4.1.3 AWT中的语义事件和低级事件 65
4.2 Swing基础 73
4.2.1 Swing介绍 74
4.2.2 基本的Swing应用程序 75
4.2.3 构造一个Swing GUI 80
4.2.4 JComponent类 82
4.3 Applet 83
4.3.1 Applet基础 83
4.3.2 Applet的方法和Applet的生命周期 86
4.3.3 Applet类 87
4.3.4 AWT绘图 89
4.3.5 appletviewer 90
4.3.6 Applet标记 91
4.3.7 鼠标输入 92
4.3.8 一个实例:小计算器程序 95
4.4 Java异常处理 98
4.4.1 异常处理基础 99
4.4.2 异常分类 100
4.4.3 异常处理机制 101
4.4.4 优点和原则 108
4.5 流与文件 109
4.5.1 流 109
4.5.2 基本的流类 112
4.5.3 文件I/O 115
4.5.4 随机存取文件 115
4.5.5 URL输入流 116
4.5.6 串行化 117
4.6 多线程 118
4.6.1 线程的基本概念 118
4.6.2 创建线程 120
4.6.3 线程状态 125
4.6.4 线程的基本控制和线程调度 128
4.6.5 线程同步和死锁 132
4.6.6 线程间交互 135
4.7 网络编程 137
4.7.1 Java技术中的网络 137
4.7.2 网络地址转换 139
4.7.3 TCP/IP Socket连接 141
4.7.4 UDP Socket 146
4.8 JDBC 152
4.8.1 JDBC概述 152
4.8.2 应用JDBC访问数据库 158
4.8.3 在Applet中应用JDBC访问数据库 169
4.9.1 Java虚拟机和语言的安全特性 171
4.9 Java安全 171
4.9.2 类载入器结构 172
4.9.3 类文件校验器 173
4.9.4 安全管理器和Java API 174
4.9.5 数字签名 175
小结 177
第二部分 Java企业技术 181
第五章 J2EE技术 181
5.1 J2EE技术架构 183
5.2 J2EE组件 184
5.2.1 客户端组件 184
5.2.2 Web组件 185
5.2.3 EJB组件 186
5.3 容器以及容器提供的标准服务 187
5.4 封装 188
5.5 开发角色 189
5.6 安全 190
5.6.1 J2EE中的安全概念 190
5.6.2 J2EE的安全体系结构 191
5.7 事务 203
5.7.1 J2EE事务简介 203
5.7.2 J2EE事务服务的层次关系 204
5.7.3 JTS中规定的事务管理器的实现 205
5.7.4 Java Transaction API 205
小结 208
第六章 剖析EJB 209
6.1.1 有状态会话Bean 212
6.1 会话Bean 212
6.1.2 无状态会话Bean 218
6.1.3 选择无状态会话Bean还是有状态会话Bean 221
6.2 实体Bean 222
6.2.1 实体Bean的主键 222
6.2.2 实体Bean的两种持久性管理类型 223
6.2.3 CMP与BMP的实例比较 224
6.3 实体EJB性能调优 228
6.4 消息驱动Bean 234
6.4.1 Java消息服务 234
6.4.2 消息驱动Bean的体系结构 235
6.4.3 点对点消息队列模式 239
6.4.4 发布—订阅消息模式 240
6.4.5 消息驱动Bean实例分析 241
小结 245
7.1 业务需求分析 246
第七章 基于J2EE技术实现网上书店 246
7.2 系统设计 247
7.3 数据库设计 248
7.3.1 客户表 248
7.3.2 客户账目表 249
7.3.3 订单表 249
7.3.4 订单明细项表 249
7.3.5 图书表 250
7.4 Web组件的部分实现代码(Servlet、JSP) 250
7.4.1 浏览购书车的JSP文件ShowCart.jsp 250
7.4.2 浏览购书车的Servlet文件:ShowCartServlet.java 253
7.5.1 图书Bean 257
7.5 EJB组件的部分实现代码(会话EJB、实体EJB) 257
7.5.2 订单Bean 261
7.5.3 购书车 267
7.6 系统概貌 274
小结 278
第三部分 Java实现Web服务 281
第八章 Web服务基础 281
8.1 Web服务出现的背景 281
8.1.1 分布式应用程序和浏览器 281
8.1.2 什么是Web Service 282
8.1.3 新平台 283
8.1.4 Web服务的未来 284
8.2.1 Web对象 285
8.2 Web服务的架构 285
8.2.2 Web Service协议栈 286
8.2.3 Web服务的类别 287
8.2.4 Web服务:当今的技术最亮点 288
8.3 基本技术和协议SOAP、WSDL、UDDI介绍 289
8.3.1 SOAP 289
8.3.2 WSDL 299
8.3.3 UDDI 305
小结 309
第九章 Web服务的实现 310
9.1 Web服务技术的主流产品 310
9.1.1 Microsoft公司的.NET与Sun公司的J2EE 310
9.1.2 IBM与Web服务 316
9.1.3 BEA与Web服务 319
9.1.4 Borland与Web服务 321
9.2 使用WebLogic Workshop实现Web服务 322
9.2.1 使用WebLogic Workshop建立Web服务 322
9.2.2 WebLogic Workshop可视化开发环境 326
9.2.3 一个简单的例子 333
9.3 Web服务实例 339
9.3.1 使用Timer控件和会话的异步通信Web服务 339
9.3.2 使用EJB控件的Web服务 344
9.3.3 使用数据库控件的Web服务 353
9.4 网上书店的Web服务实现例子 362
小结 369
10.1 简单Web服务 370
第十章 Web服务的前景——简单、商业、组合以及工作流 370
10.1.1 应用程序级的视图 371
10.1.2 简单Web服务的核心组成部分 372
10.1.3 简单Web服务 373
10.2 商业Web服务 374
10.2.1 安全性 374
10.2.2 可靠的消息传送 375
10.2.3 环境和隐私权 376
10.2.4 交易 377
10.2.5 过程流 377
10.2.6 外部Web服务栈 379
10.2.7 商业Web服务应用程序级的视图 379
10.2.8 商业Web服务的核心组成部分 380
10.2.9 性能 381
10.2.10 均衡负载服务器 382
10.2.11 高速缓存均衡负载服务器 382
10.2.12 存储和转递服务器 382
10.3 组合Web服务以及工作流 382
10.3.1 业务流程、工作流和Web服务 382
10.3.2 一个简单的Web服务工作流 383
10.3.3 电子商务服务和启用服务 384
10.3.4 组成的工作流、公共工作流和私有工作流 385
10.3.5 工作流的业务流程层次结构 385
10.3.6 层次结构工作流和对等工作流 387
10.3.7 Web服务工作流的现状和将来 387
小结 387
附录 SDK安装指南 388