1.1 JavaEE技术概述
Java平台有三个版本,包括微型版JavaME(Java Platform,Micro Edition),用来开发适用于小型设备和智能卡的应用;标准版JavaSE(Java Platform,Standard Edition),用来开发桌面应用系统;企业版JavaEE(Java Platform,Enterprise Edition),用来创建企业级应用。JavaEE版本的基础是JavaSE版本,也就是说,要想使用Java技术构建企业级应用,不仅仅需要掌握必要的JavaEE技术,精通JavaSE更是必要的前提。
JavaEE是由一系列的技术和服务组成的,通常来说有13种。具体包括:
(1)JDBC(Java Database Connectivity):用来访问数据库的API。
(2)Java Servlet:是一种小型的Java程序,扩展了Web服务器的功能。
(3)JSP(Java Server Pages):JSP页面由HTML代码和嵌入其中的Java代码组成,用来实现动态视图。
(4)JNDI(Java Name and Directory Interface):JNDI API被用于访问名字和目录服务。
(5)EJB(Enterprise JavaBean):实现业务逻辑的组件,可以构建分布式系统。
(6)RMI(Remote Method Invoke):调用远程对象方法。
(7)Java IDL/CORBA:将Java和CORBA集成在一起。
(8)XML(Extensible Markup Language):可以用来定义其他标记语言的语言。
(9)JMS(Java Message Service):用于和消息中间件相互通信的API
(10)JTA(Java Transaction Architecture):一种标准的API,可以访问各种事务管理器。
(11)JTS(Java Transaction Service):是CORBA OTS事务监控的基本实现。
(12)JavaMail:用于存取邮件服务器的API。
(13)JAF(JavaBeans Activation Framework):JavaMail利用JAF来处理MIME编码的邮件附件。
使用JavaEE技术构建企业应用,往往会采用如图1-1所示的架构。
图1-1 常用的JavaEE应用架构
常用的JavaEE应用架构中,客户端可能是浏览器,也可能是应用程序客户端。客户端的请求发送给JavaEE服务器,由服务器调用客户端请求的组件,如Servlet、JSP、EJB等。组件可以通过JDBC连接到数据库,进行数据永久存储操作,也可以通过其他服务访问不同的资源,如通过JMS访问消息服务器,JNDI访问名字和目录服务器等。
目前,大多数的企业应用都是B/S结构,即客户端是浏览器。从图1-1中可见,浏览器只能直接访问Web容器中的组件,如Servlet和JSP。也就是说,如果要使用JavaEE技术开发B/S结构的Web应用,那么至少要使用Servlet和JSP技术,因为浏览器无法直接访问JavaEE服务器中的其他组件。本教材将重点学习Servlet和JSP技术,往往这二者被统称为JavaEE Web组件开发技术。
J2EE和JavaEE有什么区别?在JDK5.0发布以前,Java的企业版本称为J2EE;JDK5.0发布后,Java的企业版本则称为JavaEE,对应其他版本为JavaSE、JavaME。J2EE1.4和JavaEE5.0是两个较流行的版本,较新的版本是JavaEE6.0。