本书循序渐进地介绍了J2EE平台的基本概念和体系结构。其内容涵盖了J2EEl.4平台的各方面知识,包括基本体系结构、分层模型、构件模型以及具体实现技术,如JSP、Servlet、EJB等。最后介绍了J2EE进行企业应用程序开发需要注意的若干事项,如安全、事务与连接等。每一章都有详细的概念解释和程序实例,方便读者逐步进入J2EE世界。
全书注重J2EEl.4整体内容和概念的讲解及应用,对于具体实现技术,都配有大量实例和练习题目。
本书主要面向具有一定Java编程基础的初、中级读者,以及使用J2EE平台进行企业级开发的读者。
本书每章中的实例源代码可以到http://www.tupwklcom.cn网站下载。
第1章初识J2EE
1.1关于San和Java
1.1.1Java概述
1.1.2Java2的几个版本
1.1.3Sun公司开发的基础架构
1.1.4Sun公司的开发策略
1.2J2EE的基本知识——平台规范
1.3J2EE的基本特点
1.4安全性
1.5授权与验证
1.5.1J2EE授权模型
1.5.2J2EE验证模型
1.6容器、服务和J2EE事务管理模型
1.6.1容器和服务
1.6.2J2EE事务管理模型
1.7小结
1.8上机练习
1.9习题
第2章J2EEl.4的新特点
2.1XMLRPC的基本概念
2.2SAAJ
2.3WebServiCeSfOrJ2EE
2.4JMX
2.5JAXR
2.6在J2EE上部署Web服务
2.7EJB2.1
2.8JSP2.0
2.8.1JSP设置的变化
2.8.2SimpleTag实现简单标记接口
2.8.3表达式语言
2.8.4JSPfragment
2.9JDBC3.0
2.9.1检索自动产生的关键字
2.9.2数据库连接池
2.9.3使用Savepoint
2.9.4返回多重结果
2.10Sewlet2.4的新特点
2.10.1RequestDispatcher的变化
2.10.2ServletRequest监听器
2.10.3部署描述文件
2.11小结
2.12上机练习
2.13习题
第3章J2EE应用场景及模型
3.1网上商店
3.1.1系统结构与功能
3.1.2宠物商店结构
3.1.3宠物商店模块设计
3.1.4宠物商店的组件
3.1.5分析宠物商店的应用
3.2网格计算
3.2.1网格计算的商业价值
3.2.2构建在J2EE之上的网格计算解决方案
3.2.3网格的应用
3.3B-C电子商务模拟系统
3.3.1系统概述
3.3.2模型设计
3.3.3构件模型
3.3.4系统中数据表示与交互
3.3.5系统模型整体分析
3.3.6模型小结
3.4小结
3.5上机练习
3.6习题
第4章J2EE的体系结构
4.1J2EE的模型—视图—控制(MVC)体系结构
5.3.2会话外观(SessionFacade)设计模式
5.4集成层设计模式
5.5小结
5.6上机练习
5.7习题
第6章XML技术
6.1XML基本特征
6.2XML的基本结构
6.2.1从一个简单的XML文档开始
6.2.2XML标记的意义
6.2.3XML文件的整体结构
6.2.4处理指示
6.3XML文件的内容元素
6.4标记
6.4.1CDATA
6.4.2注释
6.4.3形式良好的XML
6.5XML与DTD
6.5.1XML的格式问题
6.5.2DTD中的内容
6.5.3DTD语法快速指南
6.5.4工作示例
6.5.5关于XML的几点说明
6.5.6关于DTD的几点说明
6.6XMLSChema
6.6.1Schema的主要特点
6.6.2Schema的应用领域
6.6.3Schema的文件结构
6.7XML在电子商务中的应用
6.7.1XML加速电子商务的发展
6.7.2XML与EDI
6.7.3对称的EDI
6.7.4XML为IT业带来新的商机
6.7.5应用于无线通信——WML
6.7.6其他应用
6.8小结
6.9上机练习
6.10习题
第7章命名和目录服务JND
7.1命名和目录服务概述
7.2命名服务
7.2.1名字
7.2.2绑定与引用
7.2.3上下文
7.2.4命名系统和命名空间
7.2.5命名例子
7.2.6命名操作
7.3目录服务
7.3.1属性(Attributes)
7.3.2目录(Directory)
7.3.3目录服务(DirectoryService)
7.3.4活动目录(ActiveDirectory)
7.3.5目录例子
7.4使用JNDI实现多层命名体系结构
7.4.1LDAP目录系统和多层命名空间模型
7.4.2JNDI体系结构和相关概念
7.4.3多层命名空间系统的实现模型
7.4.4模型小结
7.5JNDI查找的优化
7.5.1减少上下文实例
7.5.2优化查找
7.5.3EJBHomeFactory类内幕
7.6通过JNDI使用数据源
7.7小结
7.8上机练习
7.9习题
第8章J2EE的构件模型
8.1构件概述
8.2客户端构件模型
8.2.1J2EE客户端
8.2.2StandAloneClient
8.2.3J2EEApplicationClient
8.2.4客户端访问EJB
8.3JavaBean构件模型
8.3.1JavaBean的关键概念
8.3.2编写一个简单的JavaBean
8.3.3非可视化JavaBean
8.3.4JSP与JavaBean
8.4EntelyriseJavaBean模型
8.4.1EJB模型的特点
8.4.2EJB容器
8.4.3EIB容器功能
8.4.4EIB服务器
8.4.5E用服务器的服务
8.4.6EIB构件分类
8.4.7EIB构件应用
8.4.8EIB接口
8.4.9EIB开发流程
8.5小结
8.6上机练习
8.7习题
第9章JSP技术
9.1JSP概述
9.1.1JSP的运行机制
9.1.2JSP的运行环境
9.1.3JSP的生命周期
9.1.4JSP开发的几种典型方式
9.2JSP网络应用服务框架
9.2.1JSP的客户端交互
9.2.2交互过程的流程
9.2.3JSP引擎的工作原理
9.2.4对请求信息的处理
9.3JSP基本语法
9.4预定义变量
9.5JSP脚本要素
9.5.1JSP表达式
9.5.2JSPscriptlets
9.5.3JSP声明
9.6JSP指令
9.6.1JSPpage指令
9.6.2JSPinclude指令
9.7行为
9;7.1jsp.include行为
9.7.2jsp.useBean行为
9.7.3更多关于jsp.useBean的细节
9.7.4jsp.setProperty行为
9.7.5jsp.getProperty行为
9.7.6jsp.forward行为
9.8用JSP访问数据库
9.8.1JDBC介绍
9;8.2数据库连接
9.8.3建立数据连接具体步骤
9.8.4数据库查询以及结果显示
9.9JSP与XML
9.9.1直接使用XML
9.9.2使用JavaBeans
9.9.3通过标记库JSP与XML交互
9.10小结
9.11上机练习
9.12习题
第10章Servlet技术
10.1Servlet概述
10.1.1使用Servlet的原因
10.1.2Servlet的基本运行机制
10.2Servlet开发工具
10.3创建第一个Servlet
10.3.1Servlet基本结构
10.3.2输出纯文本的简单Servlet
10.3.3Servlet的编译和安装
10.3.4运行Servlet
10.4Servlet的表单处理
10.4.1表单数据概述
10.4.2实例.读取3个表单变量
10.5HTTP请求头概述
10.5.1常见的HTTP请求头
10.5.2在Servlet中读取请求头
10.6CGI变量处理
10.6.1CGI变量概述
10.6.2标准CGI变量的Servlet等价表示
10.7状态代码处理
10.7.1状态代码概述
10.7.2设置状态代码
10.7.3HTTPl.1状态代码及其含义
10.8系统配置和Servlet运行实例
10.8.1实例1
10.8.2实例2
10.9小结
10.10上机练习
10.11习题
第11章EJB技术
11.1Bearl的类型及相互关系
11.2实体Bean
11.2.1实体Bean的基本组件
11.2.2find方法、create方法和remove方法
11.2.3主键
11.3会话Bean
11.3.1创建一个会话Bean
11.3.2调用一个会话Bean
11.3.3删除一个会话Bean
11.3.4无状态会话Bean的状态管理
11.3.5会话Bean的交换
11.3.6钝化与活化
11.3.7会话Bean代码分析
11.3.8调用会话Bean实例
11.4消息驱动Bean
11.4.1消息驱动Bean的作用
11.4.2消息驱动Bean的实现
11.4.3MessageDrivenBean接口
11.4.4消息驱动Bean的特点
11.5小结
11.6上机练习
11.7习题
第12章J2EE企业应用程序的体系结构
12.1概述
12.2客户机模型
12.2.1Web服务客户机视图
12.2.2客户机编程模型
12.2.3打包
12.3服务器编程模型
12.3.1服务器视图
12.3.2端口组件模型规范
12.3.3打包
12.4处理程序
12.4.1概念
12.4.2处理程序生命周期
12.4.3安全性
12.4.4事务
12.4.5开发者的职责
12.5部署描述符
12.5.1Web服务部署描述符
12.5.2Web服务客户机部署描述符
12.5.3JAX-RPC映射部署描述符
12.6部署
12.6.1概述
12.6.2容器提供者的要求
12.6.3部署者的职责
12.7安全性
12.7.1概念
12.7.2目标
12.7.3规范
12.8小结
12.9上机练习
12.10习题
第13章J2EE的核心AP.
13.1J2EE核心API包
13.1.1javax下的子包简介
13.1.2ejb包的说明和使用
13.1.3enterprise包的说明和使用
13.1.4mail包的说明和使用
13.1.5management包的说明和使用
13.1.6resource包的说明和使用
13.1.7servlet包的说明和使用
13.1.8transaction包的说明和使用
13.1.9xml包的说明和使用
13.2EJB(EntelyriSeJavaBean)
13.3JNDI(JavaNameandDirectOIyInterface)
13.4RMI(RemoteMethodInvoke)
13.5JDBC(JavaDatabaseConnectivity)
13.6JSP(JavaServerPage)
13.7JavaIDL/CORBA
13.8JavaServlet
13.9XML(ExtensibleMark.upLanguage)
13.10JMS(JavaMessageService)
13.11JavaMail
13.12小结
13.13上机练习
13.14习题
第14章事务和安全
14.1事务
14.1.1事务产生的动机
14.1.2事务应用
14.1.3事务服务提供的功能
14.1.4分布式事务
14.2J2EE中的事务服务
14.2.1JTA和JTS简介
14.2.2J2EE事务服务的层次关系
14.2.3JTS中规定的事务管理器的实现
14.2.4JavaTransactionAPI
14.3安全
14.3.1J2EE中的安全概念
14.3.2J2EE的安全体系结构
14.3.3用户的验证
14.3.4J2EE的授权模型
14.4安全部署的例子
14.4.1采用HTTP基本验证的例子
14.4.2配置基于表单的验证
14.4.3EJB方法授权的例子
14.4.4可编程安全性和传播调用者身份标识的例子
14.5小结
14.6上机练习
14.7习题
第15章J2EEConnector体系结构
15.1企业应用程序融合
15.1.1企业应用程序融合概述
15.1.2Web驱动应用程序融合
15.1.3企业信息系统
15.1.4企业应用程序融合的方法
15.1.5J2EE连接器体系结构和EAI
15.2JCA概述
15.2.1连接器体系结构协议
15.2.2使用JCA的原因
15.2.3一个JCA的例子
15.3JCA编程模型
15.3.1连接管理编程模型
15.3.2事务管理编程模型
15.3.3安全管理编程模型
15.4小结
15.5上机练习
15.6习题
第16章JMS体系结构
16.1JMS基本概念
16.1.1消息的基本概念与组成
16.1.2什么是消息系统
16.1.3消息系统的类型
16.1.4MOM中消息的组成部分介绍
16.1.5JMS概述
16.1.6JMS应用程序的组成
16.1.7JMS的主要接口
16.2JMS编程模型
16.2.1包与接口
16.2.2P2P消息发送端
16.2.3P2P消息接收端
16.2.4P/S客户端程序
16.3在J2EE中使用JMS应用程序
16.3.1JMS与消息传递
16.3.2配置JMS
16.3.3供应商如何应用JMS
16.4小结
16.5上机练习
16.6习题
第17章使用JAX—RPC建立Web服务
17.1JAX-RPC介绍
17.1.1Web服务会话状态的保持方法
17.1.2JAX-RPC的概念
17.1.3JAX-RPC的服务端点
17.1.4JAX-RPC服务端点的生命周期
17.1.5服务端开发
17.2JAX-RPC开发实例
17.2.1简单的Web开发实例
17.2.2完整的Web开发实例
17.3小结
17.4上机练习
17.5习题
J2EE是一种利用Java 2平台来简化企业解决方案的体系结构。J2EE的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次,随处运行”的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等,同时还提供{对EJB(EnterpriseJavaBeans)、JavaServletsAPl、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是能够使企业开发产品大幅缩短投放市场的时间。
本书从J2EE体系结构和最佳实践的角度介绍,包括J2EE平台的体系结构、J2EE的模型及其核心技术,以及J2EE的企业应用等。
全书共分为17章。为了方便读者阅读本书,这里先简单介绍一下本书的组织结构和主要内容。
第1章从总体上介绍J2EE及Java技术的基本概念,并列举了一些具体的应用实例。
第2章介绍了当前最新版本J2EEl.4的特点。
第3章通过介绍J2EE应用的3个典型场景来说明J2EE的应用范围,从而获得对J2EE部署的初步概念。另外,读者可以通过这一章的阅读,了解构建J2EE系统需要作的初步工作。
第4章介绍了目前大多数企业所采用的J2EE技术的结构设计与解决方案。具体介绍了J2EE的分层结构模型以及各层之间的关系。
第5章介绍了J2EE设计模式的基本概念和特点。文中分别介绍了J2EE表示层、业务层和集成层的设计模式。J2EE的分层设计模式为功能和实现的清晰分离提供了有效途径。
第6章介绍了J2EE交换数据的核心元素XML。包括XML的基本特征、基本结构以及与DTD的关系。XML在电子商务中的应用在本章中也有简单介绍。
第7章介绍了Java命名和目录接口(JavaNamingandDirectoryInterface,JNDl)。通过JNDI可以查找通过J2EE服务器注册的资源(例如EJB),还可以应用于Java对象和其他信息进行的存储和检索。
第8章介绍了J2EE的构件模型,其中包括客户端构件模型、lavaBean构件模型以及EJB(EnterpriseJavaBean)构件模型。
第9章首先介绍了JSP的基本知识,如JSP的运行机制和运行环境,然后进一步介绍JSP的基本结构和元素,最后通过几个JSP示例,使读者了解JSP的编写方法。
第10章介绍了Servlet的性能特点和运行机制。使读者了解Servlet的开发工具,为以后的开发构建必要的平台。通过一个简单的Servlet实例,来介绍Servlet的编写、编译、配置以及运行的完整流程。
第11章介绍了3种EJB:实体Bean、会话Bean和消息驱动Bean。这3种Bean各有各的特点,而且使用的场合也不一样。通过本章的介绍可以综合运用这3种EJB。
第12章是一个承上启下的章节。本章在前面几章的基础上,完整介绍了J2EE模型的整体体系结构以及各部分的编程模型。
第13章介绍了J2EE的核心API。J2EE提供的核心API覆盖了大部分企业计算需要的服务,简化了开发流程。
第14章介绍了J2EE平台开发企业级应用程序还需要关注的两个方面:事务和安全。这两个特性保证了企业级的开发在事务性和安全性方面的性能,从而保证整个系统的安全。
第15章介绍了J2EE连接器体系结构。J2EE连接器体系结构定义了一种规范,将J2EE平台和异构的EIS层连接起来。
第16章介绍了JMS(JavaMessageService,Java信息服务)机制,JMS用来实现应用程序各个部件之间的异步消息传递。
第17章介绍了JAX-RPC,主要有两个方面的内容:消息映射机制和服务实现。本章最后通过两个实例介绍其原理和开发细节。
每章需要注意的内容如下:
提示:需要着重注意的地方,可能是易错或是不容易引起注意的地方,这些地方往往
是进一步学习的关键。
试一试:在学习了相应的知识之后,进行一些对应的小练习,以加深印象,巩固学习的效果。后面附有答案。
网络资源:网络上关于对应知识的进一步解释。
小结:对本章的主要内容、关键技术以及所要注意的问题进行总结。
上机练习:安排在每章之后,适合实际上机操作的读者进行练习。
习题:对本章的一些重要内容进行复习和提问。可以参照答案对学习的效果进行检查。
本书由冯博、朱穗晖执笔编写。此外,参与本书制作的还有费廷、陆小明、吴勇、吴小红、张志林、冯敏、张欣、林吴、石赵林、王艳梅、赵军、钱心奇、胡文翰、王小坤、朱峰、陈亮、郭翔、李萌、牛志平、谢岳来、吴尧、邓子瑜、杨毅和邱宇宏等同志。在此,编者对以上人员致以诚挚的谢意!
由于编者水平有限,且编写时间仓促,书中难免有疏漏和不足之处,恳请广大读者批评指正,我们的电子邮箱是huchenhao@263.net。
编 者
2004年10月