1.2 本书讲了些什么
本书通过介绍一些常用的、成熟的组件,帮助开发人员快速实现那些复杂的功能。这些组件的表现形式各不相同,其中有JavaBean、JavaScript库,也有大型的应用模块和第三方的工具组件。
本书的第1篇(第1章~第10章)着重介绍各种JavaBean的组件;本书的第2篇(第11章~第19章)则由大量的JavaScript库和一些IE浏览器端的处理技巧构成;本书的第3篇(第20章~第24章)为大家提供了一些完整的基于MVC构架的应用模块。
几乎在所有的应用系统中,数据库系统都是必不可少的组成部分。如何简单、高效地访问数据库系统,是整个系统成败的关键。但访问数据库并不是Java的强项,因此我们在本书的第2章中率先为您介绍一组高效的数据库访问组件,可以快速地访问Oracle9i或SQL Server 2000数据库。
本书第3章~第5章介绍了一些数据输出组件,其中包括从Excel文件中导入/导出数据;导出数据到Word文件、PDF文件;甚至于将数据用图形化的方式进行输出:生成三维饼图、柱图、折线图、甘特图等。
本书第6章~第8章分别介绍了数据的加密/解密,以及文件压缩/解压缩组件。
第9章和第10章分别介绍了图像处理和视频处理组件,前者可以改变图像的属性,对图像进行各种处理;后者则是对视频进行格式转换、尺寸调整、生成缩略图等操作。所不同的是第9章是采用的是JavaBean组件,而第10章则是通过在程序中调用第三方的工具来实现相应的功能。
本书第2篇(第11章~第19章)的组件都在浏览器端处理和执行,由XML、JavaScript库和一些Servlet交互实现。其内容涉及TreeView的实现、小月历、输入校验、上传进度条、幻灯片浏览、发送邮件、验证码、视频处理和其他页面处理等多个方面。
本书第3篇(第20章~第24章)包含了多个较大的功能模块,读者可以稍加修改后在自己的系统中应用。其中第20章完整地介绍了使用Tomcat 5.5、MyEclipse、Struts的组合,结合第2章的数据库组件,搭建一个简单的数据库应用的全部过程。
第21章实现了在论坛中常用的图文混排编辑技术;第22章实现了一个简易的FTP服务器;第23章及第24章则是在企业应用中常用的工作流引擎、组织机构、用户、权限的管理模块。
本书是一本帮助读者快速上手的参考书。其中使用了较多方便、快捷、简单、高效之类的形容词来表达组件技术带给程序员(尤其是作者本人)的巨大帮助,但是学习Java真的有捷径可走吗?当Oracle(中国)公司的高级顾问孙皓女士在阅读完本书的初稿后提出这个问题时,作者愕然无语。
仔细想想,要想熟练掌握一门技术的确没有捷径可走,无非就是“多练习、深研究”6字箴言。多练习,就会有经验,各种常见的问题碰得多了,就自然会有解决之道。深研究,是指遇到问题,不但要解决问题,更要知道解决问题的原理及其核心思想所在,这样才能举一反三,解决更多的问题。
采用组件技术的确可以有效地提高开发效率,但却不算是在学习Java的过程中走捷径。组件技术也绝非Java所特有的。Windows本身就是一个大型的组件库,我们通过调用各种Windows API来访问系统的各种资源。Java、C++、C#、VB等众多成熟的语言都离不开组件库的支持。
可以设想一下,如果程序没有可重用性、可继承性,没有组件技术,那么我么今天编写一个简单如“Hello World”的程序可能要从显卡的驱动控制开始,其工作量是不可想象的。正是因为组件技术的普及,使得我们编写程序可以越来越少地关注系统底层的实现,而倾向于业务的实现,这样才使得计算机应用如此普及,深入到我们生活的每一个角落。
客观地讲,组件技术的出现标志着Java已经成为一种大型的、成熟的、流行的编程语言,有着很好的可重用性和可继承性。Sun MicroSystem公司除了不断更新、增加Java本身的组件库外,也鼓励程序员大量使用和开发更多的组件,为更多的人提供方便。
因此采用组件技术编程不是学习Java的捷径,而是我们学习Java语言,实践Java编程的必经之路。