对于Java的初学者,按照书中所描述的方法,对这些组件进行调用,可以快速实现那些复杂的、令人兴奋的功能;而对于那些有经验的Java程序员来说,依据本书中对组件原理的介绍和代码实例解析,可以帮助你深入了解这些组件,使之适用于更多的应用系统。
本书包含三个部分:JavaBean组件集、JavaScript组件集、实用Java应用集。所涉及的组件包括:TreeView、Excel的导入/导出、数据加密/解密、文件压缩/解压缩、绘制3D饼图、柱图、甘特图、图像处理、视频处理、工作流引擎等。
本书是一本全面介绍常用Java组件的实例教程,读者对象应是有过一些编程经验的程序员。
第1篇 JavaBean组件集
第1章 引言 2
1.1 Java是什么 3
1.1.1 Java大家庭 3
1.1.2 Java相关技术 5
1.2 本书讲了些什么 8
1.3 谁需要本书 10
1.4 本书所使用的环境 10
1.5 怎样获得这些组件 11
第2章 数据库访问组件 12
2.1 Java数据库访问概述 13
2.2 JDBC技术基础 13
2.2.1 JDBC-ODBC桥 14
2.2.2 本地API半Java驱动程序 14
2.2.3 JDBC-NET纯Java驱动程序 15
2.2.4 本地协议纯Java驱动程序 15
2.2.5 JDBC常用类简介 16
2.3 DBHandle组件介绍 19
2.3.1 功能简介 20
2.3.2 功能清单/组件参数 20
2.3.3 示例代码解析 22
2.3.4 源码解析 24
2.4 常见问题经验谈 31
2.5 本章小结 32
2.6 关于SQL语言的小练习 34
第3章 绘制图形组件 39
3.1 Java绘图技术基础 40
3.1.1 传统的绘图技术 40
3.1.2 动态图像生成技术 47
3.2 绘图组件介绍 49
3.2.1 组件内容 50
3.2.2 组件安装配置以及注意事项 50
3.3 组件的使用及参数、代码解释 50
3.3.1 绘制柱状图 50
3.3.2 绘制饼图 55
3.3.3 绘制折线图 60
3.3.4 绘制甘特图 65
3.3.5 绘制点线图 69
3.3.6 绘制时序图 74
3.4 常见问题经验谈 79
3.4.1 根据需求生成图片并以不同的
3.4.1 方式输出图片 79
3.4.2 如何使用图片Map功能 79
3.4.3 如何利用组件绘制其他图形及
3.4.3 修改图形属性 79
3.5 本章小结 80
第4章 Excel表操作组件 81
4.1 Excel组件介绍 81
4.1.1 功能简介 81
4.1.2 功能清单/组件参数 82
4.1.3 应用实例详解 85
4.1.4 源代码解析 88
4.2 本章小结 92
第5章 用Java生成PDF文件 93
5.1 什么是PDF文件 93
5.2 PDF的优点 94
5.3 PDF组件介绍 94
5.3.1 组件参数 94
5.3.2 利用组件插入文字段落 97
5.3.3 利用组件添加图片 100
5.3.4 利用组件添加表格 101
5.3.5 组件中的部分核心代码 104
5.4 常见问题经验谈 109
第6章 数据的加密和解密 110
6.1 EncryptUtil组件介绍 110
6.1.1 常用的加密方法 110
6.1.2 加密/解密组件介绍 112
6.2 代码实例解析 114
6.2.1 可逆加密/解密组件 114
6.2.2 不可逆加密组件 117
6.2.3 对字符串进行加密 123
6.2.4 对文件进行加密/解密 124
6.3 常见问题经验谈 125
6.4 本章小结 125
第7章 文件处理组件 126
7.1 网络文件柜介绍 126
7.1.1 网络文件柜功能介绍 126
7.1.2 File类 127
7.2 组件功能简介 133
7.2.1 组件功能介绍 133
7.2.2 组件实例代码解析 135
7.2.3 组件源码解析 137
7.3 本章小结 139
第8章 图片压缩组件 140
8.1 图像压缩技术概述 140
8.1.1 传统压缩技术介绍 142
8.1.2 ImageMagick介绍 143
8.2 ImageUtil组件介绍 144
8.2.1 功能简介 144
8.2.2 调用代码示例 145
8.3 知识点 147
8.3.1 FileOutputStream 147
8.3.2 JPEGImageEncoder 148
第9章 其他组件 149
9.1 对XML文件的操作 149
9.1.1 XML简介 149
9.1.2 组件介绍 151
9.1.3 小结 166
9.2 字符串处理组件 166
9.2.1 Java中的字符串类库 166
9.2.2 字符串(String)处理组件 167
9.2.3 常见问题经验谈 175
9.2.4 小结 175
9.3 数值处理组件 175
9.3.1 Java中的数值类型 175
9.3.2 组件解析 176
9.3.3 小结 178
9.4 日期时间处理组件 179
9.4.1 Java中的日期时间类简介 179
9.4.2 日期时间组件简介 179
9.4.3 小结 183
9.5 获得在线用户数 183
9.5.1 利用HttpSessionListener
9.5.1 统计在线人数 183
9.5.2 组件参数 184
9.5.3 调用代码示例 184
9.5.4 组件源码解析 185
9.5.5 小结 186
第10章 TreeView组件 187
10.1 TreeView基础 187
10.1.1 TreeView的特征 187
10.1.2 几种常用的TreeView展示
10.1.2 方法 188
10.2 TreeView组件介绍 189
10.2.1 功能简介 189
10.2.2 功能清单/组件参数 195
10.2.3 组件源代码解析 197
10.3 知识点 212
10.3.1 JavaBean 212
10.3.2 CSS 212
10.3.3 JavaScript 213
10.4 TreeView组件使用常见问题 213
10.5 本章小结 214
第2篇 JavaScript与常用组件集
第11章 日历组件 216
11.1 JavaScript语言简介 216
11.2 日期时间组件简介 216
11.2.1 功能清单/组件参数 217
11.2.2 日期时间组件实例代码 217
11.2.3 源码解析 218
11.3 本章小结 225
第12章 校验组件 226
12.1 Validation组件介绍 226
12.1.1 功能简介 226
12.1.2 功能清单/组件参数 226
12.1.3 示例代码解析 230
12.1.4 源码解析 235
12.2 本章小结 240
第13章 文件上传 241
13.1 commons-fileupload介绍 241
13.2 含有进度条的文件上传组件 245
13.2.1 含有进度条的文件上传组件简介 245
13.2.2 文件上传组件实例 246
13.3 本章小结 249
第14章 多图片的幻灯播放脚本 250
14.1 多图片幻灯播放介绍 250
14.1.1 概述 250
14.1.2 控制图片切换的风格 251
14.1.3 播放速度的可调节 251
14.1.4 浏览的控制(暂停、播放、
14.1.4 上一个、下一个) 251
14.1.5 点击查看原图 251
14.1.6 图片的动态加载 251
14.2 photoplay.js介绍 251
14.3 应用实例详解 252
第15章 发送邮件的组件介绍 258
15.1 SendMail组件介绍 258
15.1.1 组件参数 259
15.1.2 指定邮件的发件人 259
15.1.3 实现邮件的发送功能 259
15.2 调用代码示例 261
15.3 常见问题经验谈 261
15.4 本章小结 262
第16章 验证码的实现 263
16.1 验证码组件介绍 264
16.1.1 使用Servlet生成验证码的
16.1.1 图片 264
16.1.2 验证码的校验 264
16.2 调用代码实例 265
16.2.1 组件参数 265
16.2.2 调用代码示例 265
16.2.3 组件源码解析 266
16.3 常见问题 269
16.4 本章小结 270
第17章 页面动态评星的组件 271
17.1 动态评星组件介绍 271
17.1.1 使用Servlet和Ajax实现动态的
17.1.1 服务器传输 271
17.1.2 评星图片的操作及显示 273
17.2 调用代码实例 274
17.2.1 组件参数 274
17.2.2 调用代码示例 275
17.2.3 组件源码解析 278
17.3 本章小结 279
第18章 视频处理组件 280
18.1 网络视频格式介绍 280
18.1.1 影音文件 280
18.1.2 流媒体文件 281
18.1.3 ffmpeg简介 282
18.2 组件介绍 283
18.2.1 视频播放 283
18.2.2 组件中的视频格式转化 284
18.3 本章小结 287
第19章 其他常用脚本组件 288
19.1 设置为首页 288
19.2 添加至收藏夹 288
19.3 将iframe的滚动条设为自适应 289
19.4 如何使打印页面中的表格线条
19.4 变细 289
19.5 简单的背景音乐控制方法 289
19.6 本章小结 290
第3篇 实用Java应用集
第20章 开发Java应用的准备工作 292
20.1 选择开发工具 292
20.1.1 MyEclipse介绍 294
20.1.2 JDK1.5+Tomcat5.5 295
20.1.3 Struts介绍 296
20.2 搭建开发环境 297
20.2.1 安装和配置JDK1.5 297
20.2.2 安装和配置Tomcat 5 298
20.2.3 Struts的配置 299
20.2.4 安装Eclipse及MyEclipse 300
20.2.5 安装和配置Oracle数据库 303
20.2.6 搭建和测试 307
20.3 创建一个新的Java项目 308
20.3.1 创建工程 308
20.3.2 设置Struts配置文件 311
20.3.3 构造Form Bean 311
20.3.4 和Action进行交互 312
20.3.5 用Forward进行链接 313
20.3.6 编译和运行 314
20.4 常见问题经验谈 314
20.5 本章小结 316
第21章 图文混排编辑 318
21.1 WordEdit组件介绍 318
21.1.1 RichText图文混编 318
21.1.2 大文本数据的提交 319
21.1.3 大文本的存储(Oracle的long
21.1.3 字段) 320
21.1.4 大文本数据的回代 320
21.2 调用代码实例 321
21.2.1 组件参数 321
21.2.2 调用代码示例 321
21.3 本章小结 322
第22章 简易FTP服务器 323
22.1 FTP技术基础 323
22.1.1 FTP文件传输协议 323
22.1.2 FTP的作用 324
22.1.3 FTP工作原理 324
22.2 FTP操作指南 326
22.3 FtpServer组件介绍 329
22.3.1 功能简介 329
22.3.2 功能清单/组件参数 331
22.3.3 FtpServer的命令 333
22.3.4 组件源代码解析 334
22.4 相关知识简介 344
22.4.1 Socket 344
22.4.2 I/O流 345
22.4.3 多线程 345
22.5 FTP服务器使用常见问题 345
22.6 本章小结 347
第23章 WorkFlow工作流引擎 348
23.1 工作流原理 348
23.1.1 什么是工作流 348
23.1.2 为什么要使用工作流 353
23.2 工作流实现原理 355
23.2.1 工作流定义 355
23.2.2 工作流实例的创建 356
23.2.3 工作流的管理 357
23.2.4 工作流的其他功能 357
23.3 设计思路 359
23.3.1 工作流引擎设计综述 360
23.3.2 WorkFlow的数据结构 361
23.4 调用代码实例 362
23.4.1 WorkFlow的定义 362
23.4.2 WorkFlow实例化 372
23.4.3 其他系统如何调用工作流 393
23.5 本章小结 398
第24章 用户和权限的管理 399
24.1 功能描述 399
24.1.1 基于TreeView的组织机构
24.1.1 管理 400
24.1.2 用户信息管理 400
24.1.3 权限元素和角色 401
24.1.4 权限分配 403
24.2 设计思路 404
24.3 调用代码实例 408
24.3.1 组织机构管理 408
24.3.2 用户管理 416
24.3.3 权限元素和角色管理 423
24.3.4 权限分配和权限校验 434
24.4 常见问题经验谈 440
24.5 本章小结 440
Java从1995年正式发布,几乎是满载着赞誉一路而来,受到了数以千万计的程序员的推崇,逐渐发展成为使用最广泛的编程语言之一。
Java所带来的革命,每一个IT从业人员都有自己的亲身体会。很多软件开发工程师都投入很多时间和精力来学习Java语言及其架构,对于他们而言,掌握Java语言可能意味着更新的技术、更多的就业机会和更高的薪酬。
Java究竟有着什么样的魔力,能拥有这么多的追随者?我们在招聘Java高级开发人员时,也常常提出这样的疑问。我们要求应聘者用一句话描述出Java的特点和魅力所在。
“Write once run anywhere.(编写一次,随处运行)”就是最好的答案。
的确如此,Java拥有良好的可移植性。用Java编写的程序可以轻松地在Windows、UNIX、Linux甚至PDA和移动电话上运行。因此,软件开发商也对Java趋之若鹜,对他们而言,基于Java构架的产品,意味着可以适应各种用户的系统环境,并为更多的用户提供服务。
本书的读者对象应是有过一些编程经验的程序员。
和其他Java的实例教程不同的是,本书中所有的实例都采用组件技术(JavaBean、JavaScript Package)构架实现。这些实例,经过作者的精挑细选,有的是常用的经典案例、有的是企业应用中功能复杂的模块,还有些很Cool的组件能够一些有意思的功能。
这些组件包括:TreeView、Excel的导入/导出、数据加/解密、文件压缩/解压缩、绘制3D饼图、柱图、甘特图、图像处理、视频处理、工作流引擎等(随书附赠的光盘中已包含本书用到的所有组件及源代码)。
对于Java的初学者,按照书中所描述的方法,对这些组件进行调用,就可以快速实现那些复杂的、令人兴奋的功能;而对于那些有经验的Java程序员来说,依据本书中对组件原理的介绍和代码实例解析,可以帮助你深入了解这些组件,使之适用于更多的应用系统。
本书中所使用的组件均选自“北京杰软科技有限公司(www.jrsoft.com.cn)”的Smart2008中间件平台。这些组件均经过严格的测试,并已经在许多大型的企业级系统中得到了应用,读者朋友可以放心使用。
在本书出版之际,我想将它献给和我一起工作、一起成长、一起奋斗的同事——北京杰软科技有限公司的全体同仁。
本书编撰之初,正值盛夏,在没有中央空调的周末,几个人在办公室里一边挥汗如雨一边起草本书的目录;当本书终稿确认时,已是数九寒天(2007年年底),恰逢公司Smart2008中间件平台的发布,为了在本书中同步使用Smart2008版中最新的组件,那段时间几乎每个晚上、每个周末大家都在加班。
本书的另外两位作者:朱训雨(Java软件事业部经理)、张麟(甘肃金昌职业技术学校)参编了本书的大部分章节。张麟还负责对全书内容进行校对和编审,他们的敬业精神和责任心让我钦佩(每次收到他们的邮件都是在深夜发出的,这很让我感动)。参与本书编撰的还有:马霞、刘宇、郭茹会、郑州、宁兆航、郑圣蒲、江训德、骆伟兰、金婷、占围、周井海、饶志磊、徐国良、李芸、尹传营、陈舟、桑擎、马艳红,没有他们的全力配合,本书不可能完成。
特别要感谢的是电子工业出版社博文视点资讯有限公司的李冰小姐和江立小姐,她们本着严谨、负责的态度,对本书提出很多修改建议,并对书稿逐字逐句的进行编审,为本书的出版付出了辛勤的劳动。
最后,虽然作者在本书的编著过程中力求完美,但由于能力所限,疏漏和错误在所难免,请广大读者不吝赐教。我的博客地址是http://leizhiyu.iblog.com。
编 者
2007年12月
无封面