J2EE学习篇
- 一、简要介绍
- 二、Java EE架构
- 1. Java EE容器
- 2. Java EE组件
- 3. Java EE服务
- (1)HTTP(Hypertext Transfer Protocol):
- (2)RMI-IIOP(Remote Method Invoke over the Internet Inter-ORB Protocol):
- (3)Java IDL(Java Interface Definition Language):
- (4)JTA(Java Transaction API):
- (5)JMS(Java Message Service):
- (6)JavaMail:
- (7)JDBC(Java Database Connectivity):
- (8) JNDI(Java Name and Directory Interface):
- (9) EJB(Enterprise JavaBean):
- (10)JSP(Java Server Pages):
- (11)JSTL(JSP Standard Tag Library):
- (12)Java Servlet:
- (13)XML(Extensible Markup Language):
- (14)JAXP(java API for XML Pasing):
- (15)JTS(Java Transaction Service):
- (16)JAF(JavaBeans Activation Framework):
- (17)JCA(J2EE Connector Architecture):
- (18)JAAS(Java Authentication and Authorization Service):
- (19)JSF(Java Server Faces):
- (20)Web服务组件:
- 三、JavaEE核心设计模式
- 四、Struts开发框架
一、简要介绍
Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE, 是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件,可以说是一个框架或是一种规范。
Java EE是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用.随着WEB和EJB容器概念诞生,使得软件应用业开始担心SUN的伙伴们是否还在Java平台上不断推出翻新的标准框架,致使软件应用业的业务核心组件架构无所适从,从一直以来是否需要EJB的讨论声中说明了这种彷徨。
在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本.此次J2EE改名为Java EE,实际也反映出业界这种共同心声。Java EE的核心是EJB3.0, 其提供了更兼便捷的企业级的应用框架。
二、Java EE架构
主要由容器、组件和服务三大核心部分构成。
1. Java EE容器
容器负责一种组件的运行,一共有4中容器。Applet Container、Application Client Container、Web Container和EJB Container。各个容器负责处理各自的程序,互相没有影响,但是如果要运行web程序,则必须要有web容器。
2. Java EE组件
每一种Java EE组件都表示一种程序的开发,比如Application程序就是使用主方法(main)来运行的一种组件。Java EE中的4中容器,每一种容器都运行各自的组件,比如Web容器中运行的是JSP和Servlet组件。
3. Java EE服务
(1)HTTP(Hypertext Transfer Protocol):
Java EE中采用了HTTP协议作为通信标准,包括Web开发中的主要协议也是HTTP。
(2)RMI-IIOP(Remote Method Invoke over the Internet Inter-ORB Protocol):
远程方法调用,融合了Java RMI和CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)两项技术的有点而形成的新的通信协议,在使用Application或Web端访问EJB端组件时使用。
(3)Java IDL(Java Interface Definition Language):
Java接口定义语言,主要用于访问外部的CORBA服务。
(4)JTA(Java Transaction API):
用于进行事务处理操作的API
(5)JMS(Java Message Service):
用于发送点对点消息的服务,需要额外的消息服务中间件支持。
(6)JavaMail:
JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。
(7)JDBC(Java Database Connectivity):
Java 数据库连接,是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,为访问不同的数据库提供了一种统一的途径,诸如查询和更新数据库中数据的方法。
(8) JNDI(Java Name and Directory Interface):
Java 命名和目录接口,JNDI API被用于执行名字和目录服务,是 Java 的一个目录服务应用程序界面(API)。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象,从而使得开发人员在开发过程中可以使用名称来访问对象。key -> value
(9) EJB(Enterprise JavaBean):
企业级 JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件。
J2EE技术之所以赢得某体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。
(10)JSP(Java Server Pages):
JSP是由 Sun 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。
(11)JSTL(JSP Standard Tag Library):
JSP页面的标签支持库
(12)Java Servlet:
Servlet(Server Applet),是用 Java 编写的服务器端程序,它扩展了Web服务器的功能。Servlet提供的功能大多与JSP类似,JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。
(13)XML(Extensible Markup Language):
XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。
(14)JAXP(java API for XML Pasing):
专门用于XML解析操作的API,key使用DOM或SAX解析。
(15)JTS(Java Transaction Service):
JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
(16)JAF(JavaBeans Activation Framework):
JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。大多数应用都可以不需要直接使用JAF。
(17)JCA(J2EE Connector Architecture):
Java连接器架构,通过此服务可以连接不同开发架构的应用程序。
(18)JAAS(Java Authentication and Authorization Service):
用于认证用户操作,可以让当前运行的代码更加可靠。
(19)JSF(Java Server Faces):
官方提供的一套MVC实现组件。
(20)Web服务组件:
主要用于异构的分布式程序开发,主要服务有SAAj、JAXR等。
三、JavaEE核心设计模式
最核心的设计模式就是MVC(Model-View-COntroller)设计模式。
在标准的MVC设计模式中,用户一旦发出请求后会将所有的请求交给控制层处理,然后由控制层调用模型层中的模型组件,来进行持久层访问,再将结果保存到JavaBean中,最终由JSP和JavaBean一起完成页面的显示。
四、Struts开发框架
使用标准的MVC设计模式进行开发,对一般项目而言还是非常麻烦的。Apache专门提供了一套用于进行MVC开发的框架,Struts。它的主要作用是在Web层上,是对JSP和Servlet的一种变相应用,内部原理依然是MVC。