内容简介:本书连贯集中地介绍了J2EE技术,涵盖了用Java构建多层企业级应用程序的各个方面的知识—— 技术、设计方法和设计模式。本书分为5个部分,第1部分是技术背景,介绍了EJB、servlet和JSP等所依赖的J2EE或服务器端底层技术。第2部分是EJB体系结构。第3部分是Servlet和JSP,它们构成了J2EE应用程序的表示层或Web层。第4部分是其他一些高级技术,包括J2EE事务、EJB安全性、Web服务和SVG。第5部分是设计。讲解了J2EE应用程序的设计和Sun的J2EE模型目录中的设计模式。本书适用于想学习J2EE技术以更好地构建企业级应用的开发人员。
前 言 0.1 本书的目的 本书旨在为所有需要了解Java 2 Enterprise Edition(J2EE)技术应用程序的设计、实现、部署和运行的读者作实用性介绍。J2EE应用程序建立在Java 2 Standard Edition(J2SE)提供的技术之上,它使用servlet、Java Server Page(JSP)、Enterprise JavaBean(EJB)或其他一些服务器端技术(如Java消息服务)。 编写本书的目的十分明确。在过去的3年里,我们为各种各样的开发人员培训J2EE技术,既有业界的也有学术界的人士。我们还参与了几个大型J2EE技术应用程序的设计、实现和部署。在此期间,我们发现还没有一本书能够连贯紧凑地从整体的角度来介绍J2EE技术。 当然,我们试过寻找一本既可以用于我们的课程又值得推荐的书。我们发现能找到的书通常分为两种类型:或者集中在J2EE的某个方面(如servlet/JSP 或EJB);或者看起来像一本工具书,适合在需要的时候查阅一下,而不适合逐页阅读。这就意味着如果想要全面学习J2EE技术的各个方面,您就必须参加课程培训、买很多本书或翻阅大型工具书,这些工具书在每章中都包含大量重复信息。 而本书解决了上述问题,它提供了对J2EE几乎所有方面的介绍。由于篇幅有限,本书不像专门的EJB书籍那样对EJB进行详细介绍,但是涵盖了一般项目中需要的大多数信息。其他的内容可以从J2EE提供的EJB文档或从Sun和其他网站上的技术指南中得到。对于servlet和JSP也是如此。 0.2 使用Tomcat和Jboss的理由 还有一个值得考虑的问题是,为什么要选择Tomcat和 Jboss分别作为Web应用程序服务器和EJB应用程序服务器。答案相当简单:我们想使用免费的服务器。但是,我们又希望这些服务器是具有产品级质量的服务器,它们可以并且已经在真实的系统中应用了。Tomcat和Jboss都是免费的服务器,因此,选择它们是很自然的,而且Tomcat是Sun公司官方推荐的Web应用程序服务器。 Tomcat Tomcat是Apache 的Jakarta项目的一部分。Jakarta项目创建并维护Java平台上的开放源代码。它通过其中的各个子项目来开发和发布独立的产品,Tomcat就是Jakarta项目中的一个子项目。每个子项目都有自己的开发团队和组织,以及自己的邮件列表和讨论组。 Tomcat是在一个开放和共享的环境中开发的,在Apache软件许可证下发布。它是当今应用最广泛的Java Web应用程序服务器之一。它还是Sun公司的Servlet和JSP规范的参考实现。 本书使用的版本是Tomcat 4.0.3,它支持Servlet 2.3规范和JSP 1.2规范。访问下面的URL可以从Apache获得Tomcat: Tomcat 5.0将支持J2EE SDK1.4版本。但是,在编写本书时该版本正处于开发阶段,还没有广泛使用。该版本的Tomcat将支持Servlet 2.4和JSP 2.0规范。 Jboss Jboss是一个开放源代码、符合标准的应用程序服务器,它由百分百的纯Java实现并免费发布。2002年中每月有超过15万次的下载量,Jboss是基于J2EE规范的领域中下载最多的Web应用程序服务器。在由TogetherSoft进行的民意调查中,当问及企业开发中使用哪个J2EE服务器时,有44%的被调查者选择了Jboss,而其最强劲的对手BEA Weblogic只有23%(参见/index.jsp)。Jboss还赢得了《JavaWorld》的编辑选举的2002年最佳Java应用程序服务器奖。因此,虽然Jboss是开放源代码,但它仍然是当前使用最广泛的J2EE EJB应用程序服务器。注意,Jboss还提供了JNDI、Java消息服务和分布式事务等的实现。它还包含一个简单的关系型数据库Hypersonic。 当Jboss与Tomcat结合起来时,它提供一个完整的J2EE库,也就是说,它不仅提供了对EJB服务器的支持,而且提供了对servlet和JSP的支持。因此,拥有Jboss与Tomcat就足够了。本书所用的版本是Jboss 3.0.0。 访问下面的地址可以下载独立的Jboss(或内置Tomcat 的Jboss): Jboss与Tomcat的版本 因为Jboss与Tomcat的版本可能有一些不同的部署要求或存在目录结构方面的变化,我们把本书所用的版本都放在了本书的专门网站上。 代码的可移植性 值得注意的重要一点是,基于J2EE的应用程序应该是跨服务器的。就是说,如果开发人员遵循J2EE准则,源代码应该可以在任何J2EE服务器中工作。这就意味着运行在WebSpehere中的源代码同样可以运行在Jboss/Tomcat或WebLogic中。因此,本书选择Jboss Tomcat组合并不代表您不能够使用其他服务器提供的素材(虽然源代码的部署方式可能有所不同)。 0.3 本书的Web站点 我们已经开发了本书的专门网站,其中包含书中的素材,网站的URL是: 我们相信,软件开发人员通过实际操作以及从一些可用代码和试验入手都可以学得很好。因此,本书例子中的所有源代码都放到网站上。每章都有自己的目录,目录下列出每一个类文件。源代码都用Tomcat 4.0.3 and Jboss 3.0上的Java 2企业版(SDK1.3.1)测试过。当新版本的J2EE发布时,所有的例子将用Tomcat 和 Jboss的相应版本进行测试。本书的网站将会记录所有新版本带来的必要改变。 如前所述,网站中也有本书例子所用的Tomcat 和 Jboss的版本。 网站提供的内容如下: 书中使用的Tomcat和Jboss的版本。 本书中用到的所有源代码、XML文件、JSP和HTML文件。 对应最新版Servlet/JSP或EJB规范所做的所有必要的更新。 0.4 本书结构 本书分为5个部分。 第1部分:技术背景 这部分说明EJB、servlet和JSP等所依赖的J2EE或服务器端底层技术。因此,这部分涉及到JDBC、RMI、JNDI 和 XML这类主题。 第2部分:Enterprise JavaBean 在这部分介绍Enterprise JavaBean(EJB)。EJB是用于表现应用程序业务逻辑、持久性数据,并通过消息驱动bean表现面向消息的逻辑的J2EE技术。 第3部分:Servlet和JSP J2EE应用程序的表示层或Web层由Servlet和JSP构成。因此,这一部分描述了这些技术及Web应用程序安全化等相关的问题。 第4部分:其他技术 这一部分介绍一些高级J2EE技术,包括J2EE事务、EJB安全性、Web服务和SVG(可伸缩向量图形,一种XML技术)。 第5部分:设计 这部分描述J2EE应用程序的设计和Sun的J2EE模式目录中的设计模式的使用。 0.5 商标 Java、Java 2 Standard Edition、Java 2 Enterprise Edition、Java Development Kit、Solaris、SPARC、SunOS和Sunsoft是Sun Microsystems公司的商标。MS-Windows 和 Windows 95、98、2000、NT 和XP 是Microsoft公司的注册商标。Unix是AT&T的注册商标。其他所有的商标名都是各自所有人的商标。