第1章概述中间件(middleware):中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
Java EE平台角色:Java EE产品提供者、应用组件提供者、应用组装者、部署者、系统管理员、工具提供者、系统组件提供者。
EJB:(Enterprise JavaBeans,企业化JavaBeans)是一个Java服务器端组件开发的规范,软件厂商根据它来实现EJB服务器。
EJB容器:是EJB的运行环境。
它提供规范中定义的接口使EJB类访问所需的服务。
容器厂商也可以在容器或服务器中提供额外服务的接口。
EJB分为会话EJB和实体EJB两种。
CORBA:(Common Object Request Broker Architecture,通用对象请求代理架构)是一个分布式对象体系结构,它独立于平台,也独立于语言。
在这个体系结构中,一个对象可以被本机上的客户或远程客户通过方法激活来存取。
客户(一个对象或应用)无须知道被调用对象(称为服务对象)的运行环境,也无须知道实现这个对象的编程语言,客户只要知道服务对象的逻辑地址和提供的接口。
RMI:(Remote Method Invoke,远程方法调用)是一种被EJB使用的更底层的协议,正如其名字所表示的那样,RMI协议调用远程对象上方法,使用序列化方式在客户端和服务器端的对象之间传递数据。
JSP:(Java Server Page,Java服务器页面)是服务器端的脚本语言,是以Java和Servlet为基础开发而成的动态网页生成技术,它的底层实现是Java Servlet。
JSP(Java Server Pages)页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
Servlet:Servlet是一些运行于Web服务器端的Java小程序,用来扩展Web服务器的功能。
JDBC:(Java Database Connectivity,Java数据库连接)是一组API,定义了用来访问数据源的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源。
XML:(Extensible Markup Language,扩展标记语言)是一种可以用来定义其它标记语言的语言,被用来在不同的商务过程中共享数据。
JMS:(Java Message Service,Java消息服务)是一种基于Java的技术,因此是平台无关的。
它为消息服务定义了通用Java 语言接口,支持最常见的消息传递模型(发布/订阅和点到点)。
通过对JMS(Java消息服务)API的访问可实现面向消息的通信。
JMS通常用来实现异构系统之间的松散集成。
第2章JNDI:命名和目录服务JNDI:(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。
命名服务将名称和对象联系起来,使得我们可以用名称访问对象。
目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。
第3章JDBC驱动程序的4种类型:JDBC-ODBC桥,通过本地库与数据库进行连接的纯Java驱动程序,通过中间件服务器与数据库建立连接的驱动程序,直接与数据库相连的纯Java驱动程序。
JDBC接口:java.sql.Driver,java.sql.DriverManager,java.sql.Connection,java.sql.Statement,java.sql.ResultSet 第4章JTA:事务处理JTA:(Java Transaction API,Java事物管理应用程序接口)是一种用于事物管理的应用程序编程接口,为程序员提供了一种在Java程序中处理各种事物的界面。
第5章EJB概述EJB的角色:EJB提供者、应用组装者、部署者、EJB服务器提供者、EJB容器提供者、持久提供者、系统管理员EJB的类型:会话EJB对象、消息驱动EJB对象、实体EJB对象第6章EJB 3会话EJB的类型:无状态会话Bean、有状态会话Bean无状态会话Bean的生命周期有状态会话Bean的生命周期消息驱动Bean的生命周期无状态会话Bean构成:业务接口、home接口、Bean类、生命周期回调方法(PostConstruct、PreDestory)、依赖注入、客户端视图。
有状态会话Bean构成:业务接口、home接口、Bean类、生命周期回调方法(PostConstruct、PreDestory、PostActivate、PrePassivate)、依赖注入、客户端视图。
消息驱动Bean构成:业务接口、Bean类、生命周期回调方法(PostConstruct、PreDestroy)、依赖注入。
EJB的上下文及其获取ejb-jar文件第8章消息服务与消息驱动Bean消息服务:是一种在分布式应用之间提供消息传递服务的系统。
JMS的两种消息传递模式:PTP(点到点)消息队列可以同时有多个发送者,每个发送者可以自由的向当前队列发送消息。
被发送的消息按照先发先进的原则依次排列在队列中。
只能有一个接收者。
Pub/Sub(发布/订阅)消息队列所有发送者可以自由地向消息队列中发送消息,首先发送的消息先进入队列,后发送的消息排在队列后面。
一个消息可以被多个使用者接受并使用。
默认情况下,如果当前队列没有使用者,则队列中的消息会自动被丢失。
JMS消息组成:消息头、属性、消息体消息类型:StreamMessage、MapMessage、TextMessage、ObjectMessage、BytesMessage、XMLMessageJMS传递模式:持久存储、暂存发送消息的例子接收消息的例子MDB:(Message Driven Bean,消息驱动Bean)是一种与消息服务相关的EJB,是消息服务的异步消息接收者,通过消息方式为调用者提供服务,JMS是MDB支持的一种最基本消息类型。
消息驱动Bean类:必须实现它所支持的消息类型的消息监听者接口。
使用部署描述器或者使用MessageDriven元注释。
类的访问控制符必须是public。
类不能被定义为abstract 或者final类型。
必须包含一个公有类型的无参数的构造方法。
不能定义finalize 方法。
第9章Web 服务编程SOAP(Simple Object Access Protocol,简单对象访问协议)是解决分布式系统中应用程序之间交互性的需求的一个解决方案,是帮助远程计算机上的应用程序和Web服务进行交互的协议。
WSDL(Web Services Description Language,Web服务描述语言)UDDI(Universal Description Discovery and Integration,统一描述、发现和集成协议)第10章持久性概述持久性的概念持久性的实现方式:直接通过JDBC实现、通过JDO进行操作实现、通过标准标签库中的SQL标签实现、通过O/R映射工具实现、通过EJB2.X实体Bean实现、通过Java持久性API实现。
第11章Java持久化与对象数据库JPA:(Java Persistence API,Java持久化接口)JPA技术本质上是一种操作数据库中的编程接口,和JDBC 具有相同作用。
但两者的实现思路不同:JPA提供一种面向对象式数据库操作方法,而JDBC则通过SQL 语句操作数据库。
ORM:(Object Relational Mapping,对象关系映射)本质上是一种基于JDBC的数据库操作技术,是在JDBC 基础上抽象出来的软件模块,因此需要JDBC执行环境以及数据库的JDBC驱动软件。
其作用是将面向对象的概念对应翻译成关系型数据库概念。
将面向对象操作翻译成以SQL语句为标准的关系型操作。
伪对象数据库:添加了ORM映射模块的关系型数据库被称为伪面向对象数据库。
JPA程序的工作步骤:设计关系型数据库中的存储结构,设计持久化类,将实体类型和persistence.xml关联。
第12章JPA实体Bean实体Bean的基本结构:组成、实体Bean类的定义、元注释、XML配置文件实体Bean的基本映射:实体Bean类与数据表JPA实体Bean的操作:persist、merge、remove、refresh、findJPA实体Bean的生命周期:自由状态、持久化状态、被遗弃状态持久化单元的基本概念实体Bean的部署第13章实体Bean主键映射标识主键的三种方法:Identity主键映射、TableGenerator主键映射、Sequence主键映射复合主键映射的两种方法:@IdClass复合主键映射、@EmbeddedId复合主键映射第14章实体Bean属性映射实体Bean数据加载的时效:实时加载、延迟加载、不加载基本属性映射大对象类型(LOB)属性映射自定义对象映射第15章实体Bean关联映射实体关系的方向性:单向关联(Unidirectional)、双向关联(Bidirectional)实体关系的数量性:一对一(One to One)、一对多(One to Many)、多对一(Many to One)、多对多(Many to Many)实体Bean之间的七种关系:一对一单向、一对一双向、一对多单向、一对多双向、多对一单向、多对多单向、多对多双向。
映射的一般步骤:确定实体与实体间的关系,表结构的设计,实体关系的方向性,表的生成,实体的生成,元注释,持久化操作。
记录关联的集合类的选择:Collection、Set、List和Map。
J2EE平台的角色有哪些?主要职责是什么1.J2EE产品供应商:J2ee产品必须包括组件爱你容器和J2EE硅粉的J2EE API.2.应用程序组件供应商:为应用程序创建和资源和组件3.应用程序组装者:把应用程序组件供应商编写的应用程序(资源和组件)组装成应用程序打包到一个遵循J2EE规范的EAR文件中4.应用程序部署者:安装配置应用程序,启用执行程序5.系统管理员:负责维护企业网络,见识和维护所部属的应用程序6.工具供应商:提供部署和维护工具J2EE服务器上的3种类型的标准组件是什么,并说出作用、JSP—返回给客户端的表示逻辑,通常使用HEMLServlet—应用逻辑和业务逻辑EJB—应用逻辑,业务逻辑和数据存储EJB基本架构(四个组件):远程接口—定义EJB业务方法的签名HOME接口—应以与EJB的生命周期相关的方法的签名Bean—实现业务与生命周期功能的具体JA V A类部署描述符—关于EJB的元数据有状态会话bean的生命周期不存在---依赖注入,调用postconstruct--准备就绪---调用prepassivate---挂起---到期删除或者到期,调用preDestroy -调用postactivate无状态会话bean的生命周期不存在---依赖注入,调用postconstruct准备就绪(相反调用preDestroy)消息驱动bean的生命周期不存在—依赖注入,调用postconstruct准备就绪(循环on message)(相反调用preDestroy)JPA实体BEAN状态之间如何转换?自由对象---persist(),merge()--持久化对象-merge()--被遗弃对象Remove()clear()JDBC驱动程序的类型和传递模式JDBC-ODBC桥(ODBC数据源),本地库,中间件服务器,直接连为什么命名服务如此重要?如果没有JNDI,使用诸如数据源,消息队列和EJB之类的J2EE对象实现一些服务是相当苦难的,每个供应商都有自己的机制定义客户端程序如何访问J2EE对象。