首页>参考读物>计算机科学与技术>软件与程序设计

Java 2高级编程
作者 : (美)Calvin Austin, Monica Pawlan
译者 : 前导工作室
出版日期 : 2001-04-01
ISBN : 7-111-08771-2
定价 : 45.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 295
开本 : 16开
原书名 : Advanced Programming for the Java 2 Platform
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书以一个拍卖行应用程序为例,介绍了在Java 2平台上设计、开发、测试、调试以及调度一个企业级Java应用程序的方法。论述丰富、翔实、由浅入深、几乎涵盖了所有Java程序设计的各种常见情况。内容涉及数据和事务管理、分布式计算、JNI技术、使用Project Swing建立用户界面、调试applet、Application和servlet、性能技术、带签名的applet和安全管理器、安全和权限等。
本书适用于对Java程序设计有一定经验的开发人员。示例程序用Java 2平台所提供的API编写,并就其如何实现以及为什么那样实现进行了解释。

图书前言

任何一个有经验的Java平台开发人员,都会知道这个平台具有非常强大的功能和非常高的综合程度,并且发展非常迅速。Java平台的许多应用程序接口(API)为各种应用程序设计和系统级程序设计提供了丰富的功能。尽管目前有许多书籍和在线文档详细讨论了API的各种参数,但它们却很少能够综合运用这些API解决高级事务处理问题。
本书介绍了如何开发一个企业级拍卖行应用程序,详细讨论了提出设计、开发、测试、调度和调试等各个阶段。这不仅仅是关于Java API的参考书,而是一本介绍如何在Java平台上开发应用项目的指导手册。同其他许多好的参考书一样,本书还专门有一节介绍当出现问题时如何处理。另外,本书还详细介绍了调试性能问题时应采取的步骤。
我们所选的应用程序并没有涵盖程序设计的所有方面,但它却讨论了许多常见的情况并介绍了相应的基础知识,这样你就可以利用Java平台进行进一步设计、开发、调试并设计自己的解决方案。本书使用一个示例程序贯穿始末,有助于你快速掌握新知识。例如,你在某一节中学习了有关RMI的知识,接下来关于CORBA的一节中将讨论两者之间有什么相同和差异。
在Java开发者联盟(JDC)Web站点(http://developer.java.sun.com/developer)或Java Web站点主页(http://java.sun.com)上可以下载实例程序的源代码,以及关于本书论题的更多的信息。
本书所选用的例子是一个拍卖行应用程序,之所以选择它是因为目前基于Web的电子商务越来越流行。这个例子在一个使用Enterprise JavaBeans技术的实际平台上运行,该平台尤其适合电子商务应用。本书后面几章扩展了内核实例,通过增加高级功能、改进以及其他解决方法完成一些使用Enterprise JavaBeans平台时可以自动获得的一些功能。另外,对于开发应用程序非常重要的一些问题,如安全、事务管理和性能调试等,本书也进行了讨论。
本书适用于对Java程序设计有一定经验的开发人员。实例程序用Java 2平台所提供的API编写,并就其如何实现以及为什么这样实现进行了解释。因此,如果你需要有关如何安装Java平台,如何设置环境或如何运行自己的第一个应用程序等方面的帮助信息,请阅读《Essentials of the Java Programming Language: A Hands-On Guide》、《The Java Tutorial, Second Edition》等书。

作者简介

(美)Calvin Austin, Monica Pawlan:暂无简介

译者简介

前导工作室:暂无简介

译者序

本书介绍了如何开发一个企业级拍卖行应用程序,详细讨论了提出设计、开发、测试、配置和调试等各个阶段,这是一本特别有针对性地介绍如何在Java平台上开发应用项目的指导手册。另外,还介绍了如何处理在开发过程中遇到的问题,以及如何进行性能调试。
本书的两位作者具有丰富的著作经验。书中所选的应用程序并没有涵盖程序设计的所有方面,但它却讨论了许多常见的情况并介绍了相当多的基础知识,使你可以利用Java平台进行进一步设计、开发、调试并配置自己的解决方案。一个示例程序贯穿全书,这有助于你快速掌握新知识。
本书所选用的例子是一个拍卖行应用程序,之所以选择它是因为目前基于Web的电子商务越来越流行。这个例子在一个使用Enterprise JavaBeans技术的实际平台上运行,该平台尤其适合电子商务应用。本书前三章介绍了这个应用程序的基本实现,在后面几章扩展了内核实例,通过增加高级功能、改进以及其他解决方法完成一些使用Enterprise JavaBeans平台时可以自动获取的一些功能。另外,对于开发应用程序非常重要的一些问题,如安全、事务管理和性能调试等,也进行了讨论。
本书适合于对Java程序设计有一定经验的开发人员。示例程序用Java 2平台所提供的API编写,并就其如何实现以及为什么这样实现进行了解释。
本书由沈立、倪小强、姜晶菲组织翻译,前导工作室全体工作人员共同完成了本书的翻译、录排、校对等工作。本书最后由肖国尊统稿。由于时间仓促,且译者的水平有限,在翻译过程中难免会出现一些错误,请读者批评指正。


2000年12月

图书目录

译者序
前言
第1章  根据项目需求选择合适的技术 1
1.1  项目需求 1
1.1.1  访问用户 1
1.1.2  拍卖行需求 1
1.1.3  用户需求 1
1.1.4  建立项目模型 2
1.1.5  活动图 4
1.2  选择软件 4
1.3  Duke的拍卖行示例 5
1.3.1  主页 5
1.3.2  注册页面 6
1.3.3  今日新拍卖项目页面 6
1.3.4  今日结束拍卖项目页面 6
1.3.5  所有项目页面 7
1.3.6  搜索项目页面 7
1.3.7  拍卖项目发布页面 8
第2章  拍卖行应用程序 9
2.1  基于Enterprise Bean的多层应用程序 9
2.1.1  客户端程序和多层体系结构 10
2.1.2  实体bean和会话bean的区别 11
2.1.3  拍卖行的工作流图 11
2.1.4  开发和运行应用程序 13
2.1.5  多层应用程序应如何工作 13
2.2  在示例程序中是如何使用
     Enterprise Bean的 14
2.3  Auctionservlet 14
2.4  实体bean类 15
2.4.1  AuctionItemBean 15
2.4.2  拍卖项目表 17
2.4.3  RegistrationBean 17
2.4.4  注册表 17
2.5  会话bean类 18
2.5.1  Bidder会话bean 18
2.5.2  Seller会话bean 19
2.6  容器类 19
2.7  检查由容器管理的bean 19
2.7.1  成员变量 19
2.7.2  Create方法 20
2.7.3  Entity Context方法 20
2.7.4  Load方法 20
2.7.5  Store方法 20
2.7.6  连接池 21
2.7.7  调度描述符 21
2.7.8  XML调度描述符 21
2.8  由 容器管理的finder方法 22
2.8.1  基于finder方法的搜索 22
2.8.2  Auctionservlet.SearchItems 23
2.8.3  Bidderbean.getMatchingItemsList 23
2.8.4  AuctionItemHome.findAll
      MatchingItems 24
2.8.5  AuctionItemBean调度描述符 24
2.9  AuctionItemBean 24
2.10  BidderBean 27
第3章  数据和事务管理 30
3.1  bean管理的连续性和JDBC平台 30
3.1.1  连接数据库 30
3.1.2  Create方法 31
3.1.3  Load方法 31
3.1.4  Refresh方法 32
3.1.5  Store方法 33
3.1.6  Find方法 33
3.2  管理事务 34
3.2.1  为什么要管理事务 34
3.2.2  会话同步 34
3.2.3  容器管理示例 34
3.2.4  会话同步代码 35
3.2.5  事务提交模式 36
3.3  bean管理的Finder方法 39
3.3.1  Auctionservlets.searchItems 40
3.3.2  SearchBean 41
3.3.3  数据库连接 41
3.3.4  GetMatchingItemsList方法 42
3.3.5  Create方法 43
3.4  Search Bean 43
第4章  分布式计算 45
4.1  查找服务 45
4.2  Java名字和目录接口 46
4.2.1  CORBA名服务 47
4.2.2  可互操作的对象引用 50
4.3  RMI查找服务 50
4.3.1  Internet Inter-ORB协议上的RMI 51
4.3.2  提高查找性能 52
4.4  RMI注册服务器 53
4.4.1  关于RMI 53
4.4.2  拍卖行应用程序中的RMI 53
4.4.3  建立远程连接 56
4.4.4  RegistrationServer类 57
4.4.5  Registration接口 62
4.4.6  RegistrationHome接口 62
4.4.7  ReturnResults接口 63
4.4.8  SellerBean类 63
4.5  公共对象请求代理体系结构(CORBA) 65
4.5.1  IDL映射策略 66
4.5.2  快速参考 66
4.5.3  其他IDL关键字和类型 68
4.5.4  拍卖行应用程序中的CORBA 70
4.5.5  对象请求代理程序 72
4.5.6  Helper和Holder类 75
4.5.7  无用空间回收 75
4.5.8  CORBA的回调 75
4.5.9  使用Any类型 78
4.5.10  小结 82
4.6  JDBC技术 82
4.6.1  JDBC驱动程序 82
4.6.2  数据库连接 83
4.6.3  语句 83
4.6.4  将数据库结果保存在Cache中 85
4.6.5  结果集 85
4.6.6  滚动结果集 85
4.6.7  控制事务 90
4.6.8  转义字符 92
4.6.9  映射数据库类型 93
4.6.10  映射数据类型 94
4.7  servlet 94
4.7.1  HttpServlet 94
4.7.2  Init方法 95
4.7.3  destroy方法 95
4.7.4  service方法 96
4.7.5  HTTP请求 97
4.7.6  在servlet中使用Cookie 97
4.7.7  HTTP错误代码 101
4.7.8  读取GET和POST值 101
4.7.9  线程 105
4.7.10  HTTPS 106
第5章  JNI技术 107
5.1  JNI实例 107
5.1.1  关于这个例子 107
5.1.2  生成头文件 108
5.1.3  方法标记 108
5.1.4  实现native方法 109
5.1.5  编译动态或共享对象库 110
5.1.6  运行实例 110
5.2  字符串和数组 111
5.2.1  传递字符串 111
5.2.2  传递数组 112
5.2.3  打印数组 113
5.2.4  对象数组 114
5.2.5  多维数组 114
5.3  程序设计中的其他问题 117
5.3.1  语言问题 117
5.3.2  调用方法 119
5.3.3  访问域 121
5.3.4  线程和同步 122
5.3.5  内存问题 123
5.3.6  调用 124
5.3.7  附加线程 125
第6章  Project Swing:建立用户界面 127
6.1  组件和数据模型 127
6.1.1  轻量级组件 128
6.1.2  组件排序 128
6.1.3  专门事件处理 144
6.1.4  Project Swing说明 144
6.2  打印API 144
6.2.1  java.awt.print包中的内容 145
6.2.2  打印一个AWT组件 145
6.2.3  打印一个Project Swing组件 147
6.2.4  打印Project Swing图形 147
6.2.5  Print对话框 147
6.2.6  页面设置对话框 149
6.2.7  打印页集合 149
6.3  高级打印 150
6.3.1  每一页上多个组件 150
6.3.2  大于一页的组件 151
6.3.3  打印一个JTable组件 153
6.3.4  打印一个销售报表 153
6.4  AuctionClient 154
6.5  Report 163
6.6  ScaleReport 165
第7章  调试applet、应用程序和servlet 170
7.1  快速查找急需解决的问题所对应的节 170
7.2  收集例证 170
7.2.1  安装与环境 171
7.2.2  CLASSPATH 171
7.2.3  类装载 172
7.2.4  包含调试代码 172
7.2.5  在运行时打开调试信息 172
7.2.6  在运行时创建调试和产品的版本 173
7.2.7  使用诊断方法 173
7.2.8  加入调试信息 174
7.3  运行测试和分析 175
7.3.1  了解Jdb 175
7.3.2  简单的jdb检测驱动 175
7.3.3  远程调试 179
7.3.4  使用自动设置的调试 181
7.3.5  创建一个会话日志 182
7.4  servlet调试 182
7.4.1  在调试模式下运行Servletrunner 183
7.4.2  在调试模式下运行Java Web Server 184
7.5  抽象窗口工具箱的调试 185
7.6  分析栈轨迹 187
7.6.1  向Java虚拟机发送一个信号 187
7.6.2  Java虚拟机产生一个栈轨迹 187
7.6.3  核心文件 187
7.6.4  使用调试工具或API调用 187
7.6.5  哪个版本产生栈轨迹? 188
7.6.6  哪个平台产生了栈轨迹? 188
7.6.7  使用的是哪个线程包? 188
7.6.8  线程的状态 188
7.6.9  考查监视器 189
7.6.10  应用实例 191
7.6.11  小结 193
7.6.12  栈轨迹的实例 193
7.7  版本问题 197
7.7.1  JDK1.0.2配置 197
7.7.2  JDK 1.1配置 197
7.7.3  Java 2平台的配置 197
7.7.4  Netscape的配置 198
7.7.5  Internet Explorer的配置 198
第8章  性能技术 199
8.1  提高applet的下载速度 199
8.1.1  将图像封装在一个类中 199
8.1.2  使用JAR文件 200
8.2  线程池 201
8.3  连接池 203
8.3.1  外罩类 203
8.3.2  死锁和挂起 208
8.3.3  关闭连接 208
8.3.4  程序示例 209
8.4  性能特征和工具 212
8.4.1  Java虚拟机特性 212
8.4.2  Just-In-Time编译器 215
8.4.3  第三方工具 217
8.5  性能分析 217
8.5.1  分析和记录 217
8.5.2  分析一个程序 217
8.5.3  操作系统性能工具 221
8.6  缓存的客户/服务器应用程序 223
8.6.1  缓存一个对象 223
8.6.2  缓存多个对象 225
第9章  配置拍卖应用程序 233
9.1  JAR文件格式 233
9.1.1  捆绑和配置HTML文件 233
9.1.2  捆绑和配置Enterprise Bean 234
9.1.3  捆绑和配置applet 237
9.2  Solaris操作系统上的配置 238
9.2.1  下载软件 238
9.2.2  解压下载文件 238
9.2.3  安装Java Plug-In 238
9.2.4  安装Java Plug-In补丁 239
9.2.5  安装Netscape Communicator 239
9.2.6  检查安装 240
9.2.7  安装HTML Converter 240
9.2.8  安全策略文件 240
9.2.9  运行Administration applet 241
9.3  在Win32平台上配置 242
9.3.1  获得下载文件 242
9.3.2  安装带有Java Plug-In的JRE 242
9.3.3  安装HTMLConverter 242
9.3.4  安全策略文件 242
9.3.5  运行Administration applet 243
9.3.6  工作原理 244
第10章  带签名的applet和安全管理器 245
10.1  本章内容 245
10.2  带有签名的applet 245
10.2.1  带有签名的applet的例子 245
10.2.2  Intranet开发者 247
10.2.3  最终用户 248
10.2.4  使用策略文件运行一个应用程序 249
10.2.5  在JDK1.1中进行applet签名 249
10.3  编写一个安全管理器 249
10.3.1  FileIO程序 249
10.3.2  PasswordSecurityManager类 251
10.3.3  参考信息 254
附录A  安全和权限 255
附录B  类、方法和权限 267
附录C  安全管理器方法 281
附录D  API参考 283

教学资源推荐
作者: (美)Al Kelley,Ira Pohl
作者: [美]Samuel P.Harbison Ⅲ,Guy L.Steele
作者: [美]本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup)著
参考读物推荐