本书的形成
本书以著名社区“天涯”为案例,以完整项目、软件开发过程和案例驱动的方式来介绍Java EE和各种主流开发技术,引导读者进入神奇的Java EE世界,通过这个大型案例程序,本书展示了Java EE技术主要开源框架的技术特征,每章都介绍和分析相关技术在这个大型案例中的应用。先从项目需求出发,然后引出技术,再介绍技术,最后回到项目实现,最后总结,这样一个完整的讲解脉络来贯穿本书。
在当前Java EE开源框架中,最受欢迎的当所Seam2和SSH框架,在Java EE 5出现之前,很多开源框架如雨后春笋般涌现,如广泛使用的Struts、Spring、Hibernate等,SSH仍旧是最受欢迎的Java Web应用框架。然而,对于新的应用开发,它显得有些过时,并且存在很多不足。目前已经出现了几个有望取代SSH的框架,其中Seam就是其中之一。随着Java EE 5规范的正式发布, JBoss Seam成为商业Java EE中最热门的构架之一,Seam将标准的Java EE技术与其他技术集成为一个具有统一规范的编程模型,这些技术包括JSF、EJB3、JPA、Facelets、jBPM、Excel、Google Web工具包、Google Guice、Hibernate Search、RSS、iText等。Seam几乎可以运行在所有领先的Java EE应用程序服务器上。.
Seam2打破了EJB3和JSF之间的人工层,它为整合EJB3和JSF提供了一个一致的,基于注解的途径。只需要个别简单的注解,Seam中的EJB3业务组件就能直接被用来支持JSF Web表单或者处理Web UI事件,Seam为Web2.0应用进行了充分的优化,并且RichFaces 已经是一个具有 Ajax 和 JSF 特性 的 Web 框架。
作为一名长期从事Java Web应用项目的开发人员,笔者曾经也常常因不同的项目采用不同的技术而不断学习各种技术,目前图书市场市上也出现了一些所谓的J2EE轻量级应用整合或Java EE重量级应用开发,笔者认为作为一名从事一线软件开发人员,在开发一些大型的电子商务系统时,掌握各种技术更有利于在项目开发对比、整合、分析各种技术以及开发效率、运行性能等方面的因素,因为这些系统同时可能有千百万用户同时访问。因为笔者常常遇到一些进入公司从事开发的一些员工,他们桌面上往往放着各种谓的J2EE轻量级应用整合方面的书,并且按照书上介绍的方法来开发实际应用的项目,但可惜的是最后这些按照书本上介绍的方法开发出来的程序在项目中根本无法符合要求,因为这些书上的例子本身就不是实践中真实的例子,都是理论上能够实现的方法,并且这些书的作者也不是从事一线开发的技术人工员,根本不可能体验到实际项目开发中所出现各种技术需求因素和各种性能问题,并且各种知识点的介绍并没有渗透到实际项目开发,对项目开发并没有帮助。本书正是为了满足一线开发人员渴求掌握各种Java主流开发技术以及这些技术的应用整合并且想全面提升自己的实际软件开发能力尤其是需要零基础精通Java EE项目开发核心技术的读者而编写。
本书不是一本理论教程,也不是一门“闭门造车”式的Java EE读物,而是来自于笔者近10年的Java EE项目开发经历,根据作者的实践经验给出使用EJB3和Seam2的相关技巧和最好的实践方法,并且介绍各种Java主流开发技术以及这些技术的应用整合并在实践项目中如何利用这些技术开发大型Web项目的书。本书从实践的角度出发,详细介绍如何综合运用RichFaces、Seam2、EJB3、JSF等众多最炫的技术开发著名社区系统。通过我的天涯应用案例深入浅出地讲解了JBoss Seam的基本组件和各种功能,为程序员快速掌握JBoss Seam的开发方法提供了简单实用的途径,并且将EJB3、JSF与RichFaces和Seam2相结合开发项目,并首次对Seam2.2的最新特性作了详细介绍,这在国内外的同类图书中尚属首次,通过著名天涯社区直观而生动地展示了Java EE平台上Ajax相关的各种技术的综合运用,涉及RichFaces、Seam2、JSF、EJB3、JMS等。每个项目都完整地讲解了从规划、设计到实现的全过程。并提供全部代码。这些项目不仅是很好的实战学习资料。其中很多内容还可以直接应用到自己的项目中,为开发者节省大量开发时间。
本书的组织结构
全书共27章。
第1章详细介绍了案例提出,第2章详细介绍了EJB 3在案例中的应用,第3章详细介绍了JMS在案例中的应用,第4章详细介绍了实体Bean在案例中的应用。第5章详细介绍了JSF框架,第6章详细介绍了Richfaces3框架,第7章详细介绍了Seam2框架,第8章详细介绍了Seam2上下文组件模型,第9章详细介绍了Seam组件的配置以及事件、拦截器处理,第10章详细介绍Seam会话以及工作区管理,第11章详细介绍了Seam页面流和业务流程,第12章详细介绍了Seam与对象/关系映射,第13章详细介绍了Seam应用程序规则与国际化及主题,第14章详细介绍了Seam安全控制,第15章详细介绍了Seam注解与内置组件,第16章详细介绍了Seam与其他组件的集成,第17章详细介绍了Seam配置和Seam应用程序打包,第18章详细介绍了Seam远程访问和异步及消息,第19章详细介绍了集群与EJB的钝化,第20章详细介绍了Seam在其他应用服务器的运行。
本书的特点和优势
(1) 案例驱动,引爆编程激情。与同类图相比,本书不再是知识点的铺陈,而是致力于将知识点融入实际项目的开发,所以本书中以著名社区“天涯”为案例。以案例驱动的方式深入浅出地讲解了JBoss Seam的基本组件和各种功能,为程序员快速掌握JBoss Seam的开发方法提供了简单实用的途径,并且将EJB3、JSF与RichFaces和Seam2相结合开发项目,并首次对Seam2.2的最新特性作了详细介绍,这在国内外的同类图书中尚属首次。这是同类图书无法比拟的。
(2) 本书最大的特点是分别以全程案例,案例驱动,完整项目、软件开发过程,著名社区、真实再现的方式介绍Java EE各种开发技术的整合开发及应用实例。在本书25章内容中,我们为读者准备大量的应用实例。在设计本书内容的时候我们不断地回顾和品味自己学习Java开发技术的艰难过程,我们设身处地考虑各种水平的读者的实际需要,在各个部分设置了从简单入门到复杂应用的各种实例和应用技巧。
(3) 作为一线开发人员,注重实践,本书的作者都是一线的Java EE应用软件的开发人员。对Java各种应用技术有深刻的理解。理论和实际开发的着眼点完全不同。前者注重理论和技术的浓度,后者注重符合实际的应用需求。在本书中,我们的一却内容的设计,整理和编写都完全针对际开发人员的需求。
(4) 内容丰富,逻辑性强,文字流畅,通俗易懂。在本书中为读者提供了大量的图片和代码注释,并且尽量做到通俗易懂,循序渐进,尽量从开发者的角度去理解和把握各种概念和技术。
(5) 及时跟随动态。Java技术发展迅猛,各种软件版本及时更新。本书对Seam2.2、Richfaces3.4、EJB3、JSF1.2技术作了详细的介绍。本书用到的各种技术都基于最新版本。
注意事项
由于篇幅所限,书中少部分例子只列出部分代码,本书所有完整例子代码请参考光盘中相应的章节内容。光盘中的内容按工程方法存放,可用集成开发工具进行浏览书中所有例子,另外光盘中附有详细的光盘使用说明文档,读者可参考说明文档使用工程项目文件。光盘中包括本书的全部工程项目源码文件。
张 峰
2009.09