J2EE的13个规范

1)JDBC:Java Data Base Connectivity,数据库连接

我们大家对微软公司的ODBC数据库访问接口比较熟悉,而在Java中创建数据库连接使用的是JDBC。学习的过程中,我们会发现:其实,JDBC和ODBC使用方法很相似,JDBC甚至比ODBC更加好用。这是因为JDBC是在ODBC的基础上发展起来的,集成了ODBC很多优点,同时它也是独立于平台的。

2)JNDI:Java Naming and Directory Interfaces,Java命名和目录接口

JNDI是一个Java应用程序设计接口,它为我们提供了查找和访问各种命名和目录服务的通用、统一方式。JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置,便于部署。
有了JNDI,我们就不要关心“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?访问数据库的用户名和密码是什么?”这些问题了。我们编写的程序不用关心对JDBC驱动的引用。我们只需要在J2EE容器中定义一个数据源,然后通过这个数据源访问后台数据库。

模仿的是注册表的功能。

在这里插入图片描述

3)EJB:Enterprise Java Beans,企业级Java Beans

EJB是实现分布式业务逻辑的Java组件。它以一个标准自动处理了如数据持久化、事务集成、安全对策等问题,为后台业务提供了一个标准方式。EJB规范讨论了四种对象类型:无状态会话bean、有状态会话bean、实体bean、消息驱动bean:
Stateful Session Beans是包含状态的实例对象。比如在淘宝买完东西结账时,就需要一个有状态会话bean,因为服务器必须随时了解用户进行到了哪一步。尽管有状态会话bean可以被保存,但始终只能同时由一个用户来访问。

Stateless Session Beans是一类不包含状态信息的分布式对象,允许来自多个客户端的并发访问。无状态会话Bean没有资源集约性,访问的实例变量内容页不会被保存。举个例子:一个发送邮件的EJB就可以设计为一个无状态回话Bean。整个会话期,用户指向服务器提交一个动作:发送指定邮件到我的地址。
Entity Beans用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象,相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改时,容器会自动将Entity Bean的状态和数据库同步。
MessageDriven Bean支持异步行为的分布式对象。消息驱动Bean的示例有监控应用错误队列并向email寻呼机发送非常要重错误的EJB;处理servlet发回的网站反馈信息的EJB;打印从订单队列到仓库打印机的订单EJB等。

4)RMI:Remote Method Invocation,远程方法调用

RMI是一种机制,能够让在某个Java虚拟机上的对象调用另一个Java虚拟机中的对象上的方法,它使得客户机上运行的程序可以调用远程服务器上的对象。
在这里插入图片描述

5)Java IDL/CORBA:Java Interface Definiyion Language/Common Object Request Broker Architecture ,Java接口定义语言/公用对象请求代理程序体系结构

CORBA是一个分布式的面向对象应用架构规范,定义了分布式对象如何实现互操作。CORBA对象的接口使用IDL语言来定义。对象的接口定义了对象的类型,对象的方法和引用参数以及对象方法可能返回的异常结果。

6)JSP:Java Server Pages

JSP页面有HTML代码和嵌入其中的Java代码组成。它将网页逻辑与网页设计显示分离,支持可重用的基于组件的设计,使java开发快速、容易。JSP是一种动态页面技术,它主要目的是将表示逻辑从Servlet中分离出来。

7)Servlet

Servlet是服务端的Java应用程序,可以生成动态的页面,在客户端Session中保存客户的数据。它定义了动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP以Java语言作为脚本语言,将java代码和特定的预定义动作嵌入到静态页面中。
下面是Serlvet八大内置对象:
在这里插入图片描述

8)XML:Extensible Markup Language,可扩展标记语言

它是一种与平台无关的通用数据交换格式。所以说,XML与跨平台运行的Java结合,绝对件完美的事情。

9)JMS:Java Message Service,Java消息服务

JMS是java平台上有关面向消息中间件的技术规范。
JMS对象模型包含六个要素:连接工厂、JMS连接、JMS会话、JMS目的、JMS生产者和消费者、JMS消息类型(点对点、发布/订阅)。

连接工厂:
由管理员创建,绑定到JNDI树种。客户端使用JNDI查找连接工厂,然后利用连接工厂创建一个JMS连接。在这里插入图片描述

JMS连接:
JMS会话表示JMS客户端与JMS服务器之间的会话状态。JMS会话建立在JMS连接上,表示客户与服务器之间的一个会话线程。
JMS目的:
消息队列,是实际的消息源。
生产者和消费者:
由Session对象创建,用于发送和接受消息。
点对点消息类型:
消息发送给一个单独的使用者。
发布/订阅消息类型:
支持一个事件驱动模型,生产者和消费者都残余消息的传递。

10)JTA:Java Transaction API,Java事务API

JTA允许应用程序执行分布式事务处理,在多个网络计算机资源上访问并且更新数据,极大地增强了数据访问能力。

11)JTS:Java Transaction Service,Java事务服务

JTS是一个组件事务监视器。JTS和JTA为J2EE提供了分布式事务服务。

12)JavaMail

为我们提供了电子邮件的开发接口。它可以方便的执行一些常用的邮件传输。JavaMail包中用于处理电子邮件的核心类是:Session,Message,Address,Authenticator,Transport,Store,Folder等。Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务器,用户名和密码等信息。

13)JAF:JavaBeans Activation Framework,JavaBeans活动框架

JAF是一个专用的数据处理框架,它用于封装数据,是应用程序访问和操作数据的接口。JFA主要作用在于让Java应用层程序知道如何对一个数据源进行查看、编辑和打印等操作。
应用程序通过JAF提供的接口可以完成:访问数据源中的数据、获取数据源数据类型、在对数据进行的操作、用户执行操作时,自动创建该操作的软件部件的实例对象。

总结:

些 J2EE 规范之间存在紧密的关系,它们协同工作以构建复杂的企业级应用程序。以下是一些规范之间的关系和交互方式:

Servlets、JSP 和 JavaServer Faces(JSF): Servlets 用于处理 HTTP 请求和响应,可以与 JSP 和 JSF 一起使用,使开发者能够动态生成 Web 内容。JSP 是在 HTML 中嵌入 Java 代码的技术,而 JSF 提供了更高级别的组件化开发方式,使构建 Web 用户界面更加简化。

Enterprise JavaBeans(EJB)和 JTA: EJB 是用于构建企业级分布式应用程序的组件模型,而 JTA 用于管理分布式事务。EJB 组件可以包含事务管理代码,而 JTA 确保在分布式环境中的不同资源之间维护事务的一致性。

Java Naming and Directory Interface(JNDI)和 JMS: JNDI 用于在分布式环境中查找和访问命名和目录服务,JMS 用于构建异步消息传递系统。JMS 可以使用 JNDI 查找消息队列或主题,从而实现消息的发送和接收。

Java API for XML Processing(JAXP)和 Java API for XML-Based Web Services(JAX-RPC、JAX-RS): JAXP 提供了处理 XML 文档的 API,而 JAX-RPC 和 JAX-RS 则分别用于构建基于 XML 的 Web 服务和基于 REST 架构风格的 Web 服务。这些规范都与 XML 相关,可以在应用程序之间传递和处理结构化数据。

Java Connector Architecture(JCA)和 JavaMail: JCA 提供了连接企业信息系统的标准接口,而 JavaMail 则用于发送和接收电子邮件。JCA 可以用于集成不同的企业信息系统,而 JavaMail 用于与用户进行通信。

这些规范在企业应用开发中协同工作,每个规范都关注特定领域的问题,并提供了标准化的方式来解决这些问题。开发者可以根据项目需求选择适当的规范和技术,将它们组合在一起以构建完整的、功能丰富的企业应用程序。这种关系和协作使得 J2EE 成为一个强大的开发平台,适用于各种规模和复杂度的企业级项目。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Circ.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值