J2EE技术的基础便是Java 2平台,不但有J2SE平台的所有功能,同时还提供了对EJB,Servlet,JSP,XML等技术的全面支持,同时J2EE还具有一次编译,到处运行的特点,灵活性很大。
下面总结了J2EE十三个标准的特性。
1、JDBC(Java Database Connectivity):Java数据库连接
JDBC一看上去就很容易联想到ODBC,学过ODBC的,会感觉到JDBC和ODBC作用一样,都是数据库连接用的。通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库而不写各种程序去连接不同的数据库;而ODBC需要连接不同的数据库。
2、JNDI(Java Naming and DirectoryInterfaces):Java命名和目录接口
把标识符和资源关联起来。JNDI是一种查找服务,主要用来查找。
用于查找Web应用环境变量,EJBs和它们的环境变量,通过DataSources的数据库连接池,JMS目标和连接工厂等。
JNDI可以用于EJB、RMI-IIOP、JDBC中。它是网络查找定位的标准方法。
3、EJB(Enterprise JavaBeans):Java企业 Bean
EJB是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDrivenBean)
会话Bean表示与客户端程序的临时交互。当客户端程序执行完后,会话Bean和相关的数据就会消失。
实体Bean表示数据库的表中一行永久的记录。当客户端程序中止或服务器关闭时,就会有潜在的服务保证实体Bean的数据得以保存。
消息驱动Bean结合了会话Bean和JMS的消息监听器的特性,允许一个业务层组件异步接收JMS消息。
这样说来,其实EJB特别好理解,就相当于业务逻辑,实体,数据库操作的集合。
4、RMI(Remote MethodInvocation):远程方法调用
由于J2EE是分布式程序平台,它以RMI机制实现程序组件在不同操作系统之间的通信。比如,一个EJB可以通过RMI调用Web上另一台机器上的EJB远程方法。
RMI还可以利用标准JDBC包与现有的关系数据库连接。
5、JavaIDL/CORBA:Java接口定义语言/公用对象请求代理程序体系结构
Java IDL可实现网络上不同平台上的对象相互之间的交互,该技术CORBA规范说明。IDL是不依赖于语言的接口定义语言,所有支持CORBA的语言都有IDL到该语言的映射。
6、JSP(Java ServerPages)
JSP是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点看来非常类似ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便的划分给页面设计人员和程序员,并方便的通过JSP来合成。
7、Servlet
servlets提供的功能大部分JSP相同,它采用的是一个有点不同的方法。JSP中大部分是HTML代码,其中只有少量的Java代码,而servlets则相反,它完全使用Java编写,并且产生HTML代码。从三层的角度看,Servlet用来写业务层是很强大的,用来写表现层就很不方便;而JSp主要是为了方便写表现层而设计的。
8、XML(Extensible Markup Language)可扩展标记语言
XML明确地被设计来解决数据交换问题——实际就是基于一个双方认同的DTD或schema,用XML格式来交换消息载荷。
XML具备跨平台的兼容性,因此对Java急速的可移植性构成了补充。通过Java和XML的组合,我们可以得到一个完美的具有平台独立性的解决方案。
9、JMS(JavaMessageService):Java消息服务
JMS提供了一种通用的方式来创建、发送、接收和读取企业消息通信系统的消息。
10、JTA(Java TransactionAPI):Java事务API
JTA被用于与事务服务进行通信,为启动事务,连接现有事务,提交事务和撤销事务提供标准的Java API
JTA定义了一个标准的API,应用可以通过它来访问事务监控器。
11、JTS(Java Transaction Service):Java事务服务
JTS是CORBA OTS事务监控器的一个基本实现。JTS指定了一个事务管理器的实现(Transaction Manager),这个管理器在一个高级别上支持Java事务API(JTA)规范,并且在一个低级别上实现了OMG OTS规范的Java映射。一个JTS事务管理器为应用服务器、资源管理器、standalone应用和通信资源管理器提供事务服务。
12、JavaMail
JavaMail是用于存取邮件服务器的API,提供了一套邮件服务器的抽象类。不仅支持AMTP服务器,也支持IMAP服务器。
13、JAF(JavaBeans Activation Framework):JavaBeans活动床架
JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。大多数应用都可以不需要直接使用JAF。
这十三个规范映射到J2EE体系结构中,如下:
来看上面这张图,放到三层中,那么JSP,Servlet是表示层,EJB是业务逻辑层和DAL层。,自从三层结构提出EJB成为了商业逻辑层的核心.映射到MVC中,JSP是视图,Servlet是控制器,EJB是模型Model层。
再来看下面这张图,是MVC与三层的对应关系,这样我们就可以从我们熟悉的三层开始,层层递进,去理解JSP,Servlet,EJB的功能。
J2EE是一个标准,标准是要实现的,例如Jboss,Weblogic,websphere等都是J2EE标准的一个实现。既然叫标准,那么我们就应该遵循这个标准,才能越行越远。