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 ContainerApplication Client ContainerWeb ContainerEJB 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中,最终由JSPJavaBean一起完成页面的显示。

四、Struts开发框架

使用标准的MVC设计模式进行开发,对一般项目而言还是非常麻烦的。Apache专门提供了一套用于进行MVC开发的框架,Struts。它的主要作用是在Web层上,是对JSPServlet的一种变相应用,内部原理依然是MVC