本书着重于Java的应用,提供了大量的源程序,适合具有一定Java编程基础的读者,但对初学者也有很好的引导作用,没有Java编程经验的人,也可以从中学习软件开发的思想和方法。其内容包括:揭示企业级Java特性,如CORBA和JDBC;为Jeeves和Jigsaw服务器编写Web服务;设计网上商店应用小程序以及如何进行安全交易;为Java的缺陷和问题提供实用的建议;为HotJava添加其他协议和新MTME类。
第一部分 用Java编写应用小程序\r\n\r\n第1章 什么是Java\r\n\r\n1.1 作为Web编程语言的Java\r\n1.2 作为应用程序编程语言的Java\r\n1.3 Java的新特性\r\n1.4 作为内嵌式系统语言的Java\r\n\r\n第2章 在Web页中嵌入Applet\r\n\r\n2.1 没有Java?没问题\r\n2.2 传递applet的参数\r\n2.3 加快applet的启动速度\r\n\r\n第3章 应用小程序的安全约束\r\n\r\n3.1 应用小程序的安全性\r\n3.2 文件存了以约束\r\n3.3 网络约束\r\n3.4 其他安全约束\r\n3.5 免除安全约束\r\n3.5.1 用数字化签名增加权限\r\n3.5.2 建立自定义的安全管理器\r\n\r\n第4章 图像显示\r\n\r\n4.1 Java图像\r\n4.2 简单图像的显示\r\n4.3 制作自己的图像\r\n4.4 其他图像格式的显示\r\n4.5 图像处理\r\n4.6 图像色彩的过滤\r\n4.7 下载图像\r\n\r\n第5章 动画图像\r\n\r\n5.1 动画\r\n5.2 动画驱动器\r\n5.3 用图像序列产生动画\r\n5.4 用图像局部的变化产生动画\r\n5.5 用过滤器产生动画\r\n5.6 调色板的轮转\r\n5.7 图形动画\r\n5.7.1 整屏刷新\r\n5.7.2 用XOR制作动画\r\n5.8 消除闪烁\r\n\r\n第6章 与Web服务器通信\r\n\r\n6.1 Java和Web服务器\r\n6.2 用URL类获取文件\r\n6.3 用报路获取文件\r\n6.4 用GET进行查询\r\n6.5 用URL类发送数据\r\n6.6 用报路发送数据\r\n6.7 支持Cookie协议\r\n\r\n第7章 构造更精巧的表单\r\n\r\n7.1 更精巧的表单\r\n7.2 使用AWT构造表单\r\n7.3 在客户机端检查错误\r\n7.4 添加上下文相关的帮助\r\n7.5 构造动态表单\r\n7.6 在应用小程序中加载另一URL\r\n7.7 创建带热点的图像地图\r\n\r\n第8章 用应用小程序读写文件\r\n\r\n8.1 应用小程序和文件\r\n8.2 使用应用小程序的JFS文件系统\r\n8.2.1 用JFS打印文件\r\n8.2.2 从JFS访问其他Web服务器\r\n8.3 用HTTP Post保存文件\r\n8.4 用FTP来存储和获取文件\r\n8.4.1 发送FTP命令\r\n8.4.2 建立FTP会话\r\n8.4.3 发送简单的FTP命令\r\n8.4.4 建立数据连接\r\n\r\n第9章 创建可重用的图形组件\r\n\r\n9.1 可重用的图形组件\r\n9.2 命令模式\r\n9.3 创建可重用的图像按钮\r\n9.3.1 设置画布的大小\r\n9.3.2 处理输入事件\r\n9.3.3 绘制画布\r\n9.3.4 监视图像的更新\r\n9.3.5 创建CommandImageButton\r\n9.4 使用Observer接口\r\n9.4.1 模型-视图-控制器范例\r\n9.4.2 Observable类和模型-视图-控制器范例\r\n9.5 其他类中应用Observable类\r\n\r\n第10章 应用小程序间的通信\r\n\r\n10.1 定位其他应用小程序\r\n10.2 利用管道流交换数据\r\n10.3 创建多客户管道\r\n10.4 与单个对象共享信息\r\n\r\n第11章 应用小程序发送电子函件\r\n\r\n11.1 发送电子函件\r\n11.2 用SMTP协议发送电子函件\r\n11.3 用POP3协议访问邮箱\r\n\r\n第12章 保护应用小程序代码\r\n\r\n12.1 防止未授权使用代码\r\n12.2 在代码中嵌入版权声明\r\n12.3 检验应用小程序的出处\r\n12.4 隐藏应用小程序的信息\r\n12.5 运行程序中的迷惑法\r\n12.5.1 使所有的函数名和变量名无意义\r\n12.5.2 偶尔执行无用的计算或循环\r\n12.5.3 把小数字隐藏在字符串中\r\n12.5.4 创建大方法\r\n12.5.5 将方法放在子类中展开\r\n12.5.6 使用商业性迷惑器\r\n\r\n第二部分 Java应用程序\r\n\r\n第13章 把应用小程序作为应用程序运行\r\n\r\n13.1 应用小程序和应用程序的区别\r\n13.2 把应用小程序作为应用程序运行\r\n13.3 应用小程序的运行环境\r\n13.4 创建应用小程序上下文\r\n\r\n第14章 创建自己的类档案库文件\r\n\r\n14.1 类档案库文件\r\n14.2 用Info-ZIP创建自己的档案库文件\r\n14.3 查看打包档案库文件的内容\r\n14.4 直接往浏览器库中添加类\r\n14.5 用其他档案打包器创建类档案文件\r\n14.6 创建Internet Explorer的柜打包文件\r\n\r\n第15章 通过JDBC访问数据库\r\n\r\n15.1 关系数据库的数据组织\r\n15.1.1 使用SQL\r\n15.1.2 用连接实现多表数据组合\r\n15.1.3 内部连接\r\n15.1.4 外部连接\r\n15.1.5 减连接\r\n15.1.6 连接和SQL语句常识\r\n15.2 设计客户/服务器数据库应用程序\r\n15.2.1 客户/服务器系统的层次\r\n15.2.2 游标处理\r\n15.2.3 ODBC游标类型\r\n15.2.4 复制\r\n15.3 用JDBC访问数据库\r\n15.3.1 JDBC工作机制\r\n15.3.2 JDBC安全模型\r\n15.3.3 用JDBC-ODBC桥访问ODBC数据库\r\n15.3.4 JDBC类概论\r\n15.3.5 JDBC应用程序剖析\r\n15.3.6 JDBC API示例\r\n15.4 Connection类\r\n15.5 处理SQL语句\r\n15.5.1 建立和使用直接SQL语句\r\n15.5.2 建立和使用编译SQL语句(PreparedStatement)\r\n15.5.3 调用存储过程(CallableStatement)\r\n15.6 在JDBC中检索结果\r\n15.7 处理JDBC中的例外——SQLException类\r\n15.8 处理JDBC中的例外——SQLWarnings类\r\n15.9 处理日期和时间\r\n15.9.1 java.sql.Date\r\n15.9.2 java.sql.Time\r\n15.9.3 java.sql.Timestamp\r\n15.10 处理SQL类型\r\n15.11 JDBC前景\r\n\r\n第三部分 创建三层分布式应用程序\r\n\r\n第16章 用RMI创建三层分布式应用程序\r\n\r\n16.1 创建三层应用程序\r\n16.2 RMI特性\r\n16.3 建立RMI服务器\r\n16.3.1 定义远程接口\r\n16.3.2 服务器实现\r\n16.3.3 创建占位小程序类\r\n16.4 创建RMI客户机\r\n16.5 创建对等RMI应用程序\r\n16.6 无用存储单元收集、远程对象和对象\r\n\r\n第17章 创建CORBA客户机\r\n\r\n17.1 定义IDL接口\r\n17.2 编译Java客户机的IDL接口\r\n17.3 编写客户机应用小程序\r\n17.4 例外处理\r\n17.5 CGI程序、Java.net.*和Java.io.*不一定是最佳选择\r\n17.6 使用动态调用接口和接口仓库\r\n17.7 使用过滤器\r\n17.8 关于分布式系统体系结构的思考\r\n\r\n第18章 在Java中使用CORBA IDL\r\n\r\n18.1 什么是CORBA\r\n18.2 Sun提供的IDL到Java映射\r\n18.2.1 IDL模块\r\n18.2.2 IDL常量\r\n18.2.3 IDL数据类型\r\n18.2.4 枚举类型\r\n18.3 结构\r\n18.3.1 联合\r\n18.3.2 序列和数组\r\n18.3.3 例外\r\n18.3.4 接口\r\n18.3.5 属性\r\n18.4 在应用小程序中使用CORBA\r\n18.5 用JavaIDL创建CORBA客户机\r\n18.6 用VisiBroker创建CORBA客户机\r\n\r\n第19章 创建CORBA服务器\r\n\r\n19.1 创建基本CORBA服务器\r\n19.1.1 使用IDL结构定义的类\r\n19.1.2 VisiBroker框架程序\r\n19.1.3 使用VisiBroker的TIE接口\r\n19.1.4 JavaIDL框架程序\r\n19.2 在CORBA中创建回调\r\n19.3 用CORBA包装现有对象\r\n19.3.1 实现CORBA定义类型的映射\r\n19.3.2 创建远程方法包装\r\n19.3.3 实现包装的回调\r\n\r\n第四部分 加速Java\r\n\r\n第20章 增强图形性能\r\n\r\n20.1 用双缓冲区法加速绘图\r\n20.1.1 运行时检测最佳绘图方式\r\n20.1.2 编写自动检测的update方法\r\n20.2 选择修改\r\n20.3 重画改变区域\r\n\r\n第21章 下载策略\r\n\r\n21.1 霍夫曼编码和LZ压缩法\r\n21.2 延迟下载\r\n21.3 后台下载\r\n21.4 提供本地库\r\n21.4.1 为Hotjava和Appletviewer安装本地库\r\n21.4.2 为Netscape安装本地库\r\n21.4.3 为Internet Explorer安装本地库\r\n21.5 包格式下载类\r\n21.5.1 Netscape Navigator 3的包下载\r\n21.5.2 打包文件的类加载器\r\n21.6 用JAR格式或柜打包格式存储类\r\n\r\n第22章 快速下载图像\r\n\r\n22.1 隆低图像文件大小\r\n22.2 图像片\r\n22.3 创建另一个图形环境\r\n22.4 在图像片中存储图像局部\r\n\r\n第五部分 Java Web服务器\r\n\r\n第23章 在Java中创建Web\r\n\r\n23.1 用Java对象代替CGI\r\n23.2 服务小程序API\r\n23.3 将Web服务器作为计算服务器\r\n23.4 在Java应用程序中加入Web访问\r\n23.5 将来升级到Web服务器\r\n\r\n第24章 为Jeeves编写Web服务器\r\n\r\n24.1 什么是Jeeves\r\n24.2 Jeeves HTTP服务器\r\n24.2.1 回顾结构\r\n24.2.2 安装和运行Jeeves HTTP服务器\r\n24.2.3 管理Jeeves Web服务器\r\n24.2.4 用Java驱动程序的浏览器管理Jeeves\r\n24.2.5 修改基本Web服务器参数\r\n24.2.6 配置Web服务器日志\r\n24.2.7 创建文件别名\r\n24.2.8 配置MIME\r\n24.2.9 将服务小程序加载进Web服务器\r\n24.2.10 创建服务小程序别名\r\n24.2.11 HTTP服务器安全机制\r\n24.2.12 服务小程序安全机制\r\n24.2.13 保护Web资源\r\n24.2.14 在安全域中增加用户\r\n24.2.15 创建用户组\r\n24.2.16 创建和修改ACL\r\n24.2.17 用服务小程序扩展Jeeves功能\r\n24.2.18 使用服务小程序API\r\n24.2.19 扩展servlet类\r\n24.2.20 通过SerletResponse接口发送信息\r\n24.2.21 通过ServletRequest接口接收信息\r\n24.2.22 通过ServletContext接口获取信息\r\n24.3 使用Jeeves开发工具包\r\n24.3.1 使用FormServlet处理表单输入\r\n24.3.2 用过滤器接口在HTML页上嵌入服务小程序\r\n24.3.3 使用Jeeves HTML类生成HTML\r\n24.4 建立数据库服务小程序\r\n24.4.1 从用户那里获取信息\r\n24.4.2 将服务小程序连接到JDBC数据库\r\n24.4.3 在数据库中插入数据\r\n24.4.4 搜寻数据库\r\n24.5 用Jeeves建立一个简单的自动代理系统\r\n24.5.1 利用对象串行化在因特网上传递代理\r\n24.5.2 建立远程代理机构\r\n24.5.3 创建一般代理接口\r\n24.5.4 实现数据库查找代理\r\n24.5.5 建立出发地代理机构\r\n24.5.6 发送代理\r\n24.5.7 汇报代理\r\n\r\n第25章 为Jigsaw编写Web服务\r\n\r\n25.1 回顾体系结构\r\n25.1.1 端口监控模块处理HTTP协议\r\n25.1.2 资源模块管理服务器信息空间\r\n25.1.3 通过对象持续保持服务器状态\r\n25.1.4 资源过滤在请求前后的处理\r\n25.2 Jigsaw接口\r\n25.2.1 HTTPResource类\r\n25.2.2 FilteredResource类\r\n25.2.3 DirectryResource类\r\n25.2.4 FileResource类\r\n25.3 安装和设置Jigsaw HTTP服务器\r\n25.4 在Jigsaw服务器中增加内容\r\n25.5 用Java扩展服务器\r\n25.6 用Java编写资源过滤器\r\n25.7 用Java处理表单和POST方法\r\n\r\n第六部分 Java的安全性\r\n\r\n第26章 用数字化签名保证应用小程序的安全\r\n\r\n26.1 什么是数字化签名\r\n26.2 允许签名的应用小程序拥有更多的访问权限\r\n26.3 利用第三方为应用小程序签名\r\n26.4 数字化签名的潜在安全问题\r\n26.4.1 使用假的签名\r\n26.4.2 接收旧软件\r\n26.4.3 对签名应用小程序的误信\r\n26.4.4 运行假Web浏览器\r\n26.5 获得数字化签名证明\r\n26.6 数字化签名的其他用途\r\n\r\n第27章 数据加密\r\n\r\n27.1 选择适当的加密种类\r\n27.2 免受恶意者攻击\r\n27.2.1 防止重放攻击\r\n27.2.2 不要在应用小程序中存储密钥\r\n27.2.3 使用公用密钥加密来交换会话密钥\r\n27.2.4 用安全HTTP制止假冒\r\n27.3 获取加密软件\r\n27.3.1 获得安全报路(socket)库——SSLava\r\n27.3.2 获得Cryptix库\r\n27.3.3 获得Acme Crypto包\r\n\r\n第28章 安全访问远程系统\r\n\r\n28.1 获得安全Web服务器\r\n28.2 防止假冒\r\n28.3 访问远程数据\r\n28.4 向客户传递密钥\r\n28.4.1 不要重新使用对称密钥\r\n28.4.2 使用公用密钥加密来获得私用密钥\r\n28.4.3 将私用密钥作为应用小程序参数传递\r\n28.5 实现单客户安全服务器\r\n28.6 实现多客户安全服务器\r\n28.7 创建其他安全远程访问程序\r\n\r\n第七部分 在Web上利用Java进行贸易\r\n\r\n第29章 创建Java购物车\r\n\r\n29.1 设计基础购物车\r\n29.2 创建购物车用户接口\r\n29.3 创建目录应用小程序\r\n29.4 获取购物车应用小程序\r\n\r\n第30章 执行安全事务\r\n\r\n30.1 让客户用数字签定单\r\n30.2 在所有网络通信中使用加密\r\n30.3 为Netscape服务器创建Java服务\r\n30.3.1 创建服务器端的“Hello World”\r\n30.3.2 安装新的服务器端的Java应用小程序\r\n30.3.3 在服务器端应用小程序中控制表单\r\n30.3.4 将文件作为响应发送\r\n30.3.5 返回多重响应\r\n30.3.6 在应用小程序调用间维护信息\r\n30.4 让服务器应用小程序在不同的Web服务器上工作\r\n30.5 执行安全事务\r\n\r\n第31章 Java电子商务机构(JECF)\r\n\r\n31.1 电子商务的难点\r\n31.1.1 信息盗窃\r\n31.1.2 欺诈程序\r\n31.1.3 专用解决方案\r\n31.1.4 静态解决文字\r\n31.1.5 平台无关\r\n31.2 用JECF创建在线服务\r\n31.3 在皮夹数据库中存储信息\r\n31.3.1 保证数据安全\r\n31.3.2 执行事务\r\n31.4 用JECF实现购物车应用小程序\r\n31.5 用字体卡提供服务\r\n31.5.1 用付款字体卡注册付款\r\n31.5.2 创建其他皮夹服务\r\n31.5.3 保证字体的安全\r\n31.5.4 处理系统错误\r\n31.5.5 JECF现状\r\n31.5.6 有关JECF的更多信息\r\n\r\n第八部分 Java和遗留系统\r\n\r\n第32章 封装遗留系统\r\n\r\n32.1 着重功能,而非形式\r\n32.2 提供对新系统的访问能力\r\n32.3 使用CORBA打开一个关闭的系统\r\n32.4 封装TCP/IP系统\r\n32.5 用本机方法调用进行封装\r\n32.5.1 捆绑Java和本机接口\r\n32.5.2 用C编写本机方法\r\n32.6 仿真用户式封装\r\n32.7 向遗留系统寻求帮助\r\n32.8 提供不同接口\r\n32.9 多个系统的组合\r\n32.9.1 在遗留系统中处理删除源(Deletion Originating)\r\n32.9.2 使用两阶段提交协议\r\n32.9.3 实现两阶段提交\r\n32.10 一些实例\r\n32.10.1 遗留系统示例\r\n32.10.2 基于现有终端编写新应用程序\r\n32.10.3 为现有应用程序建背后的接口\r\n32.10.4 为遗留系统转换铺平道路\r\n\r\n第33章 Web驱动的遗留系统\r\n\r\n33.1 使用封装访问遗留数据\r\n33.1.1 以非会话事务为目标\r\n33.1.2 在Web页上存储会话信息\r\n33.2 使用HTTP Cookies保存会话信息\r\n33.2.1 选择好会话标识符\r\n33.2.2 清除旧的会话\r\n33.3 从服务小程序中访问遗留数据\r\n\r\n第34章 CICS系统接口\r\n\r\n34.1 CICS概略\r\n34.2 CICS外部调用接口\r\n34.3 Java-CICS网关API\r\n34.4 创建多调用的LUM\r\n34.5 创建CICS的Web接口\r\n34.6 为CICS提供CORBA接口\r\n34.6.1 创建CORBA-CICSA网关\r\n34.6.2 创建CICS程序的CORBA接口\r\n\r\n第九部分 HotJava\r\n\r\n第35章 给HotJava附加协议\r\n\r\n35.1 写协议处理程序\r\n35.1.1 第一步:确定包名\r\n35.1.2 第二步:创建目录\r\n35.1.3 第三步:设置CLASSPATH\r\n35.1.4 第四步:实现协议\r\n35.1.5 第五步:创建Handler类\r\n35.1.6 第六步:编译源程序\r\n35.2 在HotJava中使用协议处理程序\r\n35.2.1 第一步:更新properties文件\r\n35.2.2 第二步:运行HotJava\r\n35.3 在应用程序中使用协议处理程序\r\n35.3.1 main( )方法:启动FetchWhois\r\n35.3.2 FetchWhois构造函数:完成工作之处\r\n35.3.3 whoisUSHFactory类:注册协议处理程序\r\n35.3.4 运行FetchWhois\r\n35.4 细述URLStreamHandlerFactory\r\n\r\n第36章 为HotJava增加新MIME类型\r\n\r\n36.1 编写内容处理程序\r\n36.1.1 第一步:确定包名\r\n36.1.2 第二步:创建目录\r\n36.1.3 第三步:设置CLASSPATH\r\n36.1.4 第四步:编写内容处理程序\r\n36.1.5 第五步:编译源程序\r\n36.2 在HotJava中使用内容处理程序\r\n36.2.1 第一步:禁止MIME处理\r\n36.2.2 第二步:更新properties文件\r\n36.2.3 第三步:运行HotJava\r\n36.3 在应用程序中使用内容处理程序\r\n36.3.1 启动FetchFudify\r\n36.3.2 ContentahandlerFactory实现程序\r\n36.3.3 运行应用程序\r\n\r\n第37章 在Java中创建多用户程序\r\n\r\n37.1 设计多用户应用程序\r\n37.2 在多用户应用程序中增加基于报路访问方式\r\n37.2.1 创建基于报路的服务器\r\n37.2.2 在报路上发送消息\r\n37.3 处理报路的其他问题\r\n37.4 在多用户程序中增加RMI访问方式\r\n\r\n第十部分 Java和多媒体\r\n\r\n第38章 创建请求式多媒体服务\r\n\r\n38.1 Java对于请求式应用程序的适用性\r\n38.2 使用请求式音频应用小程序\r\n38.2.1 登录\r\n38.2.2 播放音频剪辑\r\n38.3 为应用小程序添加声音\r\n38.4 讨论请求式音乐应用小程序代码\r\n38.4.1 应用小程序的体系结构\r\n38.4.2 初始化和注册\r\n38.4.3 选择曲目\r\n38.4.4 播放歌曲\r\n38.5 Java的缺点\r\n38.6 Java的新功能\r\n\r\n第39章 实现多媒体百科全书\r\n\r\n39.1 Java对多媒体应用程序的适用性\r\n39.1.1 Java是可移植的\r\n39.1.2 Java是紧凑的\r\n39.1.3 Java能处理流式数据\r\n39.1.4 Java是基于客户/服务器的\r\n39.1.5 Java可轻松支持PDA\r\n39.2 使用多媒体百科全书\r\n39.3 在应用小程序中增加图像和声音\r\n39.4 深入在线式多媒体百科全书\r\n39.4.1 应用小程序体系结构\r\n39.4.2 索引窗口\r\n39.4.3 主题窗口\r\n39.5 缺陷\r\n39.6 新功能\r\n\r\n第十一部分 Java和嵌入式系统\r\n\r\n第40章 在非传统设备上实现Java接口\r\n\r\n40.1 非传统设备的特征\r\n40.2 新的计算模型\r\n40.3 设计支持非传统设备的应用程序\r\n40.3.1 用户界面与应用程序分离\r\n40.3.2 避免大型的单块应用程序\r\n40.3.3 尽量用标准库\r\n40.3.4 避免长而复杂性的事务处理\r\n40.4 为小型设备设计用户界面\r\n40.4.1 创建简明的自编文件界面\r\n40.4.2 避免无关的图片和信息\r\n40.4.3 保持可读性\r\n40.4.4 支持多输入源\r\n40.5 为小型设备创建可重用组件\r\n40.5.1 将布局管理器CardLayout作为堆栈使用\r\n40.5.2 创建键盘/小键盘输入过滤器\r\n40.5.3 为光笔和触摸屏用户创建弹出式小键盘
无封面