首页>参考读物>计算机科学与技术>软件与程序设计

Java EE 5 开发指南
作者 : Kevin Mukhar Chris Zelenak James L.Weaver Jim Crume
译者 : 窦巍 顾玲 等
出版日期 : 2006-10-10
ISBN : 7-111-19804-2
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 477
开本 : 16开
原书名 : Beginning Java EE 5 From Novice to Professional
原出版社: Apress
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是对Java EE各种技术之间互相协作的概览和补充。
  本书还展示了如何编写JavaServer Page(JSP)页面或者企业级JavaBean(EJB):探讨了何时何处使用这些API,它们各自的优缺点以及如何使用它们进行最佳实践。此外本书还包含下面的内容:
  ● 使用JSP页面、JSF(JavaServer Face)和Servlet创建动态的客户端。
  ● 在Web应用中使用Java数据库连接功能(JDBC)来连接和使用数据库。
  ● 用EJB实现业务层。
  ● 在企业应用中使用各种Java EE模式来避免产生软件缺陷。
  ● 在企业应用中使用Web服务和XML。
  本书的内容主要集中在企业级Java项目所需的重要的API和工具上,提供了手把手的教程、清晰的讲解和可运行的代码例子,以便于你进入下一阶段的学习,从编写客户端桌面应用到开发企业级应用。你还将学到在Java EE 5平台中如何使用一些API,并且如何将这些API结合起来创建自己的企业级应用。
  本书适合有经验的程序设计和开发人员参考。

图书特色

图书前言

关于编程的最令我激动的事情莫过于可以把一些想法通过软件变成现实。我喜欢开发一些软件能让其他人工作起来更加轻松和愉快。当然,我也喜欢与其他程序员一同分享我所掌握的知识。因此,我要感激Apress的编辑让我有此机会编写本书。我希望本书的内容能让你有所收获。
  编写本书的这一版大概花了一年多的时间,在这一年中,我的妻子和我在一起面对了许多机遇和挑战。非常感谢这一年多来给予我们帮助的人们:Tom和Marg Gimmy,Harrogate医疗中心的医生和护士,Dave和Kris Johnson,我的全家和Anne的全家,芝加哥医院的医生和护士,Maria医生,Richard Meinig医生,Brian Toolan医生,Dawn Girard,Don Haase,Tedd Dawson,Judy French,Sondra Wenzel,Jenn Masamitsu,UCCS大学的秋季CS330班全体,以及Apress出版社的全体成员。
  最后,本书特别要献给我的妻子Anne和我的女儿Christine。
Kevin Mukhar
  如果没有Jim Crume极其专业的帮助,我是不可能完成本书的,他快速地为我提供代码并具有出色的理解力,这些对我的修订工作都是必不可少的。非常感谢Kevin Mukhar,感谢他信任我这样一个初出茅庐的程序员承担这本书的修订工作。我还要感谢Apress出版社的朋友,他们在本书的准备工作中也展现了无比的耐心,特别感谢Laura Brwon(她的儿子Daniel Brown刚出生)、Steve Anglin、Sofia Marchant、Dilip Thomas、Marilyn Smith和Laura Cheu。另外还要感谢互联网上的朋友们以及我的家人,我希望尽可能把我要感谢的人列在这里:Michelle和Derek、来自CARE Auto Auction的Becky和John,Russell和Boggstown,Chorna,AJ,Keith和我的兄弟Matt——你们好像在我需要帮助的时候就出现了。最重要的是要感谢我的父母——John和Lynn Zelenak,你们给予了我关心和理解。还有Jim Weaver,你对我的信任使我能够得以完成本书的修订工作,而且在此过程中,我们成了很好的朋友。
Chris Zelenak
  谨以此书献给我的妻子Julie、我的女儿Lori和Kelli;“儿子”Marty以及我的孙子Kaleb James。感谢你们一贯的爱和支持。还要感谢Ken Prater,我们深深怀念他。感谢Merrill和Barbara Bishir、Marilyn Prater和Walter Weaver提供这么多的好例子。另外还要感谢Laura Lee和Steve Brown,Jill Weaver,Shari和Doug Beam,Wade和Dawn Weaver,Dan和David Wright,Jerry和Cheryl Bishir,以及Pastor Steve和Cheri Colter。特别感谢Chris Zelenak为本书付出的不懈努力以及Apress出版社对我的鼓励。Isaiah 26∶3。
James Weaver
  谨以此书献给我挚爱的妻子;我的儿子Chris和他的妻子Michelle;以及我的女儿Liz,感谢他们给予我的理解和关心。我爱你们!Joshua 24∶15。
Jim Crume
 


  迄今为止,本书作者曾经阅读了不少软件设计和开发方面的著作,其中不乏一些佳作,但也有不尽如人意者,这个过程曾耗费了我们不少的时间和财力,于是我们考虑到有必要把一些有价值的内容进行提炼整理,本书就是我们辛勤努力的成果。首先,本书的作者和你一样,都是软件工程师,而且参与了不少相关的项目,所以理解大多数开发者并不愿在新技术的入门上花费太多的时间,因而作者希望本书能够为你提供简明扼要的技术指南,并附有一些有价值的开发资源。
  首先,这本书主要涵盖了利用Java平台企业版(Java EE)进行分布式软件实践开发的各个方面。企业版Java是一种博大精深的技术,初学起来就像大海捞针。行成于思,行胜于言,所以我们采取先实践的策略,然后再花90%甚至更多的时间来探讨每个主题的基础理论。
  当我们阅读一本软件开发方面的书时,或从头到尾通读,或直奔自己感兴趣的主题。本书主要介绍Java EE技术,如果你按顺序阅读每一章,将学习到相对完整的Java EE知识,当阅读进行一段时间后再回顾先前的某一章节,就会发现对相应的概念已经比较熟悉。此外,我们尽力使本书的每个主题都自成体系,并且对应有简明扼要的例子。
  类似于Java标准版,Java EE架构(Framework)也是由许多包(package)组成,每个包定义了一些类和接口。想必你已经熟悉J2SE,并且逐个主题地学习了J2SE架构;而我们也将采用同样的方式来讨论Java EE。
  对于编程语言而言,能够快速地设计和开发组件并提供给用户使用是其最具吸引力之处。可以说Java EE 5就具备了这些优点,在本书出版的时候其规范已经到了开发和评审的后期。本书将利用JBoss的预实现版本来演示Java EE的功能,从而尽可能展示这个规范的全貌。有趣的是,这个规范还处于开发状态,常常发生变动,因此,本书涉及的主题主要覆盖那些不大可能发生变化的概念。尽管如此,我们并不能百分之百保证不会变化,因此强烈建议你浏览本书在Apress网站上的主页(wwwapresscom/book/bookDisplayhtml bID=420), 上面会列出相关的修改或替换方案。若想第一时间知道规范的变化, 请随时关注Java EE 5规范的开发页面(http://jcporg/en/jsr/detail id=244)、 JBoss网站(wwwjbosscom/developers/index)和TheServerSidecom网站(wwwtheserversidecom)。

 该书已由机械工业出版社引进出版。——编辑注。


本书适用读者范围
  本书主要面向那些已经具备Java标准版的相应知识或已经掌握小型桌面客户端应用程序开发技术的读者。如果你已经阅读过一些入门书籍, 比如Ivor Horton编著的《Java 2入门经典》(Beginning Java 2)(Wrox, 2004年出版; ISBN 0764568744), 那么现在就可以开始学习用Java EE开发服务端的应用程序了。
  本书假定你已经知道如何使用开发环境来编译类文件并创建JAR文件。如果你偏好用vi和命令行工具, 则假定你知道如何设置类路径并使用javac来编译文件。如果你用的是集成开发环境(IDE), 那么假定你知道如何使用这个IDE来创建、 编译项目和部署这些项目。或许你采用的是Jakarta Ant来构建(build)系统, 那么假定你会创建和运行你自己的Ant构建脚本, 用它来进行应用程序的编译、 打包和部署。不管你用哪种系统, 我们都认为你已经熟悉了编写和编译代码的过程。
  如果你以前用过其他的面向对象的语言, 比如C++或C#, 而现在希望用Java来开发企业级的应用, 那么你也将会从本书中受益。因为它们在编码的概念、 原则和结构方面都是相似的—— 你只需关注语法的不同之处以及各种Java EE技术领域中不同的代码体系结构。
本书涉及的内容
  本书涉及的内容将从基本的Java语言到创建可复用和可扩展的Java EE组件, 比如JSP页面、 企业JavaBean(EJB)和Web服务(service)。
  下面简明扼要地介绍一下本书的各个章节:
第1章: Java EE基础
  这一章展示了Java EE的概貌, 介绍了什么是Java EE和如何开发基于Java EE的应用程序。通过本章的介绍, 你将了解到Java EE有哪些主要的组成部分以及它们是如何进行协作的。
第2章: 做好准备
  若要运行本书的例子代码, 则需要正确配置你的机器。因此, 本章介绍了一些Java EE核心组件的安装、 配置和测试方法。
第3章: JSP
  这一章介绍了使用JSP页面进行服务端的Web编程, 包括如何编写一个简单的JSP页面、 基本的JSP技术基础以及如何在Web应用程序中使用JSP。
第4章: JSP进阶
  本章继续讨论JSP的内容, 包括一些更高级的技术和功能, 比如表达式语言、 定制操作和JSP标准标签库(JSTL)。
第5章: JSF
  本章介绍一种用于创建基于组件的用户界面的框架JavaServer Faces(JSF)。你将学习如何结合JSP页面来使用JSF创建功能丰富的用户界面。
第6章: Servlet
  这一章探讨了Java EE Web应用程序中常用的一种组件: Servlet。Servlet主要用于扩展服务端功能和提供动态的行为。
第7章: 数据库访问
  在开发Java EE应用时很可能要在某一数据源中存储和操作数据。这时就需要用到JDBC。
第8章: JDBC进阶
  在第7章介绍了数据访问的基本功能之后, 本章将深入探讨JDBC, 包括预处理语句和存储过程、 事务和锁机制。
第9章: EJB基础与会话bean
  本章将开始讨论Java EE中用来体现应用程序业务逻辑的一个重要功能: 企业JavaBean(EJB)。本章主要介绍了EJB技术并具体探讨了会话bean技术。
第10章: EJB实体bean
  本章讨论了第二种类型的EJB: 实体bean, 并介绍了实体bean与其他类型的bean的关系以及如何协作。此外还讨论了两种不同类型的持久性, 并介绍了EJB 查询语言(EJB QL)。
第11章: EJB关系、 EJB QL和JDBC
  本章有两个主题, 即如何创建容器管理的关系, 以及如何结合使用JDBC和EJB。另外还继续上一章讨论EJB QL的选择方法。
第12章: EJB与设计模式
  本章主要介绍了什么是设计模式、 如何在EJB应用中使用设计模式, 以及使用设计模式带来的好处。
第13章: 消息驱动bean
  这是本书关于EJB的最后一章, 主要探讨了消息驱动bean(MDB)。MDB为Web应用程序提供了响应外部事件的手段。
第14章: Web服务与JAXWS
  本章主要讲述如何利用Web服务开发分布式应用程序。内容包括Web服务基础, 设计原则和一些好的实践, 还有在创建Web服务时应该知道的一些其他问题。
附录 A: Tomcat
  该附录简要介绍了一种代替JBoss的完备的应用服务器Tomcat。包括如何获取、 安装和运行Tomcat Web容器。本书在第3章和第8章用到了Tomcat。
附录B: SQL与EJB QL
  该附录简要介绍了两种Java EE编程中可能用到的数据访问技术: 结构化查询语言(SQL)和企业JavaBean查询语言(EJB QL)。第7章和第8章用了SQL, 而第10章和第11章用了SQL和EJB QL。
附录C: Java EE 术语表
  该附录列出了一些重要的Java EE术语及其定义。
所需的软件
  为了学习本书, 必备的系统和软件并不是很多。因为你已经具备了一定的Java基础, 所以在机器上安装某个版本的J2SE SDK对你来说应该不成问题。
  本书将使用最新的标准版SDK, 在编写本书时是J2SE 5。本书全部用的是微软的Windows操作系统, 但是因为Java具有“编写一次, 到处运行”的特征, 所以可以选用其他的操作系统平台, 比如Solaris或Linux, 而绝大多数代码都不需要修改。
  另外还需要一个Web容器和某种应用服务器软件。本书将用最新发布的Tomcat Web容器和JBoss应用服务器。在本书成书时, JBoss是唯一支持EJB 30规范的应用服务器。第3章到第8章用的是单机版的Tomcat, 因为这些章节的例子不需要用到JBoss的所有功能。但是, 因为JBoss使用Tomcat作为它的Web容器, 所以本书的所有例子都应该能在JBoss应用服务器中运行。
  此外, 你也可以选用别的支持Java EE 5规范及其他Java EE技术规范的应用服务器。本书中涉及的代码示例都遵循了最新的规范, 并且避免使用Tomcat或JBoss特有的功能。所有这些示例应该无须修改就可以运行在任何Java EE应用服务器中。但是不同的应用服务器的部署步骤可能有所不同, 所以请注意参考相应的服务器文档。
版式约定
  本书采用了一定的版式约定和字体以帮助你区分不同类型的内容。这一节列出了所采用的一些版式并加以解释。
  本书将以两种不同的方式展示代码: 在文字中插入代码和单独列出代码清单。当需要在正文中提到关键字和其他编码注意事项时(例如, 讨论有关ifelse结构或beans包), 我们使用等宽字体(如上一行括号中的字体所示)。如果展示完整的代码块, 则采用如下方式:
清单 92SimpleSessionBeanjava
 如果这段代码清单是某个例子的一部分, 那么这段代码将有一个清单编号和标题。另外一种方式只是简单列出代码片断。
  有时需要在命令行中输入一些命令, 则采用下面的字体: 这里用“>”表示提示符, 后面是输入的命令。
  提示: 建议、 提示和背景信息采用这种类型的格式进行展示。重要的信息也是用这种格式。根据信息类型的不同, 分别用词汇“提示”、 “技巧”和“注意”表示。“提示”主要是指一些定义、 解释或与主题相关的细节。“技巧”是指一个编程的窍门。例如, 使用某种功能可通过另一种方法, 但和主题关系不大, 这时就用“技巧”来说明。“注意”是指出潜在的问题, 例如用来警告如果发生误用可能会导致应用服务器崩溃。
下载本书的代码
  请浏览本书在Apress网站的主页(http://wwwapresscom/book/bookDisplayhtml bID=420), 然后点击源代码链接(在页面右边的“Book Extras”区域)下载本书所有源代码。
关于XML文件中的URL
  Java平台企业版50(Java EE 5)的一个主要特点是利用XML文件来配置Web应用程序和Web组件。贯穿本书, 这些XML文件中的元素通常有统一资源定位符(URL)的属性值。例如, 有一种称为部署描述文件(deployment descriptor)的XML文件, 它的开头的元素如下所示:
  本书不遗余力地保证所用到的每一个URL都是正确的——我们聘请了作者、 很多编辑、技术评审人和校对人员以及随机遇见的程序员来复查每个URL。尽管经过再三努力, 但仍然可能存在隐含的问题。
  如前所述, 我们希望本书能带给你更多有价值的实践信息, 所以本书的目标之一就是保证所涉及的技术都是可用的。但是在编著本书时, Sun还没有最后发布本书预先讨论的技术规范, 所以很有可能从本书出版直至你读到本书的这段期间, 相关的规范又做了修改, 而且这将影响全书, 而不仅仅是这些XML文件中的URL。
  因而, 当你开始验证本书的示例或者开始实践JSP、 Servlet和EJB时, 应该查看所用的应用服务器的文档和应用服务器支持的规范, 以保证在Web应用程序中使用的是正确格式的XML文件。
遇到问题该怎么办
  尽管我们再三努力, 尽管本书拥有多名目光犀利的编辑, 但错误可能在所难免, 敬请谅解。
  如果你遇到任何关于文字或代码例子的问题, 首先请到本书的网页(wwwapresscom/book/bookDisplayhtml bID=420)查看修订内容。如果我们发布了勘误表, 那么你可以在以上网页上找到修订的链接, 点击这个链接你将看到相关代码或文字的错误列表以及更正的内容。
  如果你在修订页面上没有发现你遇到的问题, 那么请在该主页上找到一个提交错误的链接。如果你再三核查了你的问题而且还无法解决, 那么请点击提交错误链接, 把关于问题的描述发送给我们。一旦问题得到解决, 我们将第一时间在修订页面上进行答复。

封底文字

本书是对Java EE各种技术之间互相协作的概览和补充。 本书还展示了如何编写JavaServer Page(JSP)页面或者企业级JavaBean(EJB):探讨了何时何处使用这些API,它们各自的优缺点以及如何使用它们进行最佳实践。此外本书还包含下面的内容: ● 使用JSP页面、JSF(JavaServer Face)和Servlet创建动态的客户端。 ● 在Web应用中使用Java数据库连接功能(JDBC)来连接和使用数据库。 ● 用EJB实现业务层。 ● 在企业应用中使用各种Java EE模式来避免产生软件缺陷。 ● 在企业应用中使用Web服务和XML。 本书的内容主要集中在企业级Java项目所需的重要的API和工具上,提供了手把手的教程、清晰的讲解和可运行的代码例子,以便于你进入下一阶段的学习,从编写客户端桌面应用到开发企业级应用。你还将学到在Java EE 5平台中如何使用一些API,并且如何将这些API结合起来创建自己的企业级应用。 本书适合有经验的程序设计和开发人员参考。

作者简介

Kevin Mukhar Chris Zelenak James L.Weaver Jim Crume:Kevin Mukhar: 是Colorado Springs公司的一位软件开发人员。过去七年间,他曾运用多种Java企业技术开发了许多软件系统,还与他人合著过多本著作,包括《Beginning Java Database:JDBC,SQL,J2EE,EJB,JSP,XML》(Wrox, 2001年出版;ISBN 1861004370)和《The Ultimate Palm Robot》(Osborne/McGrawHill,2003年出版;ISBN 0072228806)。除了日常的开发软件的工作,他正在攻读计算机科学硕士学位。他的个人主页是http://homeearthlinknet/~kmukhar/。
Chris Zelenak: 是Learning Assistant技术公司的一位程序员,他参与开发了服务器端的Cocoon和Rail应用、Java和NET客户端应用还有大量的恶魔式辨护(Devils Aadvocacy,DA)。最近他刚从Indiana Wesleyan大学计算机系毕业,而且为本书撰写了前言部分。
James L.Weaver: 是Learning Assistant技术公司(www.lat.inc.com)的创始人之一,这家公司致力于学习软件和医疗软件的开发。
Jim Crume: Jim Crume(jcrume@fusionalliancecom)是Fusion Alliance公司的一位Java软件架构师,这家公司位于印第安纳波利斯市,致力于Web应用软件开发方面的技术咨询。Jim具有多年的技术咨询经验,尤其善长体系结构和基于Web系统开发方面的技术。过去七年间,Jim利用J2EE技术出色地完成了许多软件系统。

译者简介

窦巍 顾玲 等:暂无简介

译者序

Java EE 5规范在2006年5月1日全票通过并正式发布了!J2EE规范自从1998年诞生以来历经了曲折的发展之路。过去几年,J2EE发展非常快速而且正在走向成熟,但是这时期内也出现了许多其他的框架,比如NET和Ruby on Rails,它们不断蚕食着J2EE的市场份额。Java企业版社团绝地反击,借鉴并吸取了一些优秀的思想,改善了Java EE平台并贡献出Java EE 5这个主要版本。这次SUN将J2EE 15更名为Java EE 5,凸现了Java EE 5与以往J2EE规范的跨度,也可以把它看成一种新的技术而不是J2EE的延续。Java EE不失时机地打开了开发企业应用的方便之门,可以预见Java EE对于整个产业的影响,可能是J2EE这个概念自诞生以来比较有力量的一次震撼,它对Java企业开发过程的影响是深远的。
  Java EE 5中设计了一些重要特性以简化开发人员的工作。JCP组织总结了过去J2EE实践中的经验和教训,在Java EE 5规范中对J2EE技术做了相当大的调整。首先影响最大的就是EJB规范。过去EJB给人的感觉过重,且开发过程复杂和不易维护,因此很多实际项目中很少使用EJB。Java EE 5对平台进行了重新定义,使得EJB的开发方式发生了彻底改变,不再使用Home,Remote接口等概念,而是使用轻量级的开发方式,通过大量采用在Java 50中引入的元数据标注(annotation)作为EJB描述工具。另外实体bean的角色被重新定位,采用POJO(普通Java对象)使其单纯担负起O/R Mapping的作用。Java EE 5平台提供了一个新的持久化应用开发接口,设计这个应用开发接口的目的是为了解决既要遵循EJB规范又要遵循Java数据对象所涉及的实现持久性方面的冲突的问题。所有这些举措都是为了使企业应用的开发过程更加简单、效率更高、维护更方便。其次,在Java EE中,对Web服务的支持仍然是一个重要主题。Java企业版平台中的Web服务主要围绕着两个应用开发接口:XML Web服务的Java API (JAXWS)20,它是JAXRPC和JAXB的延续。再有,在Web开发方面,Java EE 5增加了新的JSF规范,这是一个Web开发框架。JSF基于事件及UI组件模型的开发方式颠覆了传统的Web开发习惯,使用JSF开发表现层更像Swing编程,基于UI组件的模型能够把Web界面定制的很多工作独立出来,厂商可以针对具体的目标定制更多更好用的组件。
  本书涵盖了Java EE 5中大多数技术;诚然在一本书中不可能完全透彻地讲述Java EE所有的技术,但是作者却恰到好处地将最基本和重要的部分展示给了读者。这本书的讲解是循序渐进的。第一步先讨论什么是多层体系结构,然后细致入微地介绍了前端技术(JSP/JSF),接下来介绍中间层技术(Servlet和会话bean),最后集中探讨后端技术(实体bean和JDBC)。本书还介绍了系统交互和服务(MDB和Web服务)。本书的EJB部分非常精彩地讲述了三种类型的bean,并提供了具体的例子;这一部分讨论了无状态会话bean和有状态会话bean、CMP和BMP实体bean、EJB QL和EJB的关系以及EJB的设计模式。本书采用JBoss和Sun Java EE的参考实现作为实践工具,贯穿每章都有相应的例子,此外每章最后还附带有练习题供读者使用。
  在译者看来,本书作为Java EE入门书籍做得已经足够好,堪称经典。本书的语言简练且不乏幽默,引用了很多比喻来解释枯燥的术语,并适时将作者自己的经验以提示的方式糅合在书中各处。但是作为译者,我们也有责任指出本书的不足之处以供国内读者阅读时参考。首先,由于本书的原著是在Java EE 5规范正式发布之前出版的,因此有个别地方与正式发布的相关规范稍有出入,比如本书虽然覆盖了JDBC,但是没有考虑Java 5结果集(resultSet)的新变化。另外,虽然在MDB部分解释了JMS,但是并不深入。本书介绍了MDB和JMS方面的内容,但提供的例子较为简单。再者,在JAX(Java API for XML)方面的介绍也略显轻描淡写。如果要深入学习上述主题还应参考其他资料。但是瑕不掩玉,本书非常值得Java EE初学者入门阅读,也可以作为有经验的读者的案边参考。
  参加本书翻译工作的有窦巍、顾玲、赵睿、刘克俭、马钦、赵辉等,并由窦巍统一全稿。机械工业出版社华章分社的编辑对全书进行了细致的审校,提供了大量宝贵的修改意见和指导,在此表示衷心的感谢。
  在翻译过程中,译者尽量采用已被业界广泛接受的技术术语,并忠实于作者的原意,限于水平,译文难免有疏漏之处,恳请读者批评指正。

图书目录

第1章Java EE基础
11什么是Java EE
111Java EE和J2SE有什么关系
112为什么使用Java EE
12多层体系结构
121单层系统
122客户端/服务器(两层)体系结构
123n层体系结构
13不依赖于Java EE厂商
14可扩展性
15Java EE的主要特性和概念
151Java EE客户端和服务器端
152容器
153Java Servlet
154JSP技术
155JSF技术
156JDBC
157EJB
158XML支持
159Web服务
1510事务支持
1511安全性
16Java EE体系结构的例子
161应用客户端和EJB
162JSP客户端和EJB
163applet客户端和JSP及数据库
164应用集成的Web服务
17小结
第2章做好准备
21安装JBoss
22测试JBoss的安装
221启动服务器
222JBoss服务器的安装问题和解决办法
23编译和部署一个JSP页面
231创建一个应用程序例子
232学会说“Hello”
233创建应用过程中的问题和解决办法
24小结
第3章JSP
31JSP初步
311JSP开发
312基本的JSP生命周期
32JSP的构成元素
321指令元素
322脚本元素
323操作元素
324注释和模板数据
33创建和部署JSP的Web应用
331编写JSP Web应用
332在Java EE中部署Web应用
333在Tomcat中部署Web应用
334解释或编译的错误处理
335JSP的初始化和终止
336JSP的作用域
34使用内置对象
341request对象
342response对象
343out对象
344session对象
345config对象
346exception对象
347appcliation对象
348在JSP页面中使用标准操作和内置对象
35解释和编译
36错误和异常处理
361通过page指令处理异常
362在部署描述文件中处理异常
363在JSP页面中添加异常处理
37JSP页面的include和forward
371include操作
372forward操作
373向JSP页面中加入include和forward操作
38小结
39练习
第4章JSP进阶
41表达式语言
411无脚本的JSP
412EL语句的语法
413EL语句中的错误和默认值
414使用EL的JSP页面例子
42定制操作和标签处理程序
421定制操作如何工作
422简单标签处理程序
423标准标签处理程序
424定制操作的多样化
43JSP 标准标签库
431获得一个JSTL实现
432JSTL中的操作
433在JSP中使用JSTL
44小结
45练习
第5章JSF
51JSF序言
511JSF和其他Java EE技术之间的关系
512请求处理的生命周期
52JSF的安装
53在JSP页面中使用JSF
531创建一个简单的JSF应用
532分析这个例子应用的JSF生命周期
54运用可管理bean
541配置可管理bean
542在JSP页面中使用值绑定表达式
543在JSP页面中使用方法绑定表达式
544扩展JSF例子应用
55控制页面导航
551静态导航和动态导航
552导航规则
553为JSF例子应用增加动态导航
56访问bean的环境数据
57数据的转换
571利用标准转换器
572利用定制转换器
58输入的验证
581使用标准的验证器
582使用定制的验证器
583忽略验证
59使用消息文件
510小结
511练习题
第6章Servlet
61HTTP和服务器端程序
611请求方法
612服务器端如何处理请求
62Servlet模型和HttpServlet
621基本的Servlet设计
622处理POST请求的Servlet
623request对象
624response对象
625部署描述文件
626Servlet的生命周期
627Servlet中的事件日志
628Servlet中的多线程
63异常处理
631异常处理的问题
632错误页面
64会话管理
641创建和使用会话
642用Cookie代替session对象
65过滤器
651实现Filter接口
652修改部署描述文件
66MVC体系结构
661Model 1和MVC
662MVC的组成
663Servlet控制器
664创建MVC应用
67小结
68练习
第7章数据库访问
71连接数据库
711用数据源进行连接
712在Java EE中配置数据源和连接
713在Tomcat中配置数据源和连接
714关闭连接
715设置登录超时
72异常处理
73DataSource的日志处理
74创建和使用Statement对象
741执行单个Statement
742执行批量更新
743释放Statement
744使用Statement在数据库中插入数据
75使用ResultSet类
751访问ResultSet
752从ResultSet读取数据
753空值的处理
754使用可更新的ResultSet
755维持ResultSet的打开状态: ResultSet的可保持性
76小结
77练习
第8章JDBC进阶
81预处理语句
811用预处理语句的原因
812创建Prepared Statement对象
813使用Prepared Statement
82可调用语句
821为何要用存储过程
822创建可调用语句
823调用存储过程
83事务
831终止事务
832管理事务
833存储过程使用事务
834使用分布式事务
84锁机制和隔离
841设置隔离等级
842使用悲观锁机制和乐观锁机制
85小结
86练习
第9章EJB基础与会话bean
91理解EJB
911为何要用EJB
912EJB规范
913三种EJB
914应当用哪种类型EJB
92剖析会话bean
93开发一个会话bean
931使用无状态会话bean
932选用有状态bean或无状态bean
933使用有状态会话bean
94小结
95练习
第10章EJB实体bean
101实体bean与会话bean如何合作
102剖析实体bean
1021实体bean类
1022容器管理的持久性和EntityManager接口
1023主键
1024bean管理的持久性
103开发CMP实体bean
1031建立CMP实体bean应用
1032编译CMP实体bean应用
1033部署CMP实体bean应用
1034运行这个CMP实体bean应用
1035分析例子CMP实体bean
1036分析这个例子的会话bean
104开发BMP实体bean
1041建立BMP实体bean的应用
1042部署BMP实体bean的应用
1043运行BMP实体bean应用
1044分析例子BMP实体bean
105EJB查询语言
1051EJB QL查询
1052建立和部署这个EJB QL查询应用
1053运行EJB QL查询应用
1054分析会话bean的查找方法
106小结
107练习
第11章EJB关系、EJB QL和JDBC
111实体bean的关系
1111一对多和多对一关系
1112多对多关系
1113用EJB QL查询获得数据子集
112容器管理的关系和EJB QL
1121用CMR建立应用
1122编译这个CMR应用
1123部署这个CMR应用
1124为数据库填充数据
1125运行此CMR应用
1126分析此CMR应用
113EJB实体bean和JDBC
1131EJB应用实现JDBC
1132StockList bean使用JDBC[HJ5/9〗114小结
115练习
第12章EJB与设计模式
121更好的设计
122应用设计模式
1221利用设计模式建立应用
1222编译和运行这个使用设计模式的应用
1223解释这个应用的设计模式
123结合EJB使用JSP和Servlet
1231建立修改过的JSP/Servlet客户端
1232回顾修改过的JSP/Servlet客户端
124小结
125练习
第13章消息驱动bean
131消息驱动bean概述
1311描述MDB
1312MDB环境
1313MDB事务
1314侦听器的调用
132Java消息服务API
133EJB 定时服务
134结合使用MDB、 JMS和EJB 定时服务
1341创建MessageTimerApp例子
1342构建和运行MessageTimerApp
1343分析MessageTimerApp例子
1344MessageTimerApp小结
135小结
136练习
第14章Web服务与JAXWS
141理解Web服务
1411Web服务标准和模型
1412为什么要用Web服务
1413Web服务的协议栈
142用Java开发Web服务
1421介绍JAXWS
1422下载CVS工具
1423创建Web服务
1424构建、 测试和运行此Web服务
143小结
144练习
附录ATomcat
附录BSQL与EJB QL
附录CJava EE术语表

教学资源推荐
作者: 苏俊
作者: 郑阿奇
作者: 顾元刚
作者: 皮德常 编著
参考读物推荐
作者: [美]阿尔文·亚历山大(Alvin Alexander) 著
作者: 吴众欣 沈家立
作者: 冯翔、刘涛、吴寿鹤、周广益 编著