概述

  J2ee是我们步入java学习的一个開始。它将开启这趟奇幻之旅,Java是一种简单的,跨平台的,面向对象的,分布式的。解释的。健壮的安全的。结构的中立的,可移植的。性能非常优异的多线程的,动态的语言。不不过免费开源,并且兼具了跨平台的长处。

什么是J2EE?

  J2EE(Java 2 Enterprise Edition)是建立在Java 2平台上的企业级应用的解决方式。J2EE技术的基础便是Java 2平台。不但有J2SE平台的全部功能,同一时候还提供了对EJB。Servlet。JSP。XML等技术的全面支持。其终于目标是成为一个支持企业级应用开发的体系结构,简化企业解决方式的开发,部署和管理等复杂问题。其实,J2EE已经成为企业级开发的工业标准和首选平台。J2EE并不是一个产品,而是一系列的标准。

  J2EE,是Sun公司提出的一个标准,符合这个标准的产品叫"实现";当中你下载的Sun公司的J2EE开发包中就有一个这种"实现",而jboss,weblogic,websphere都是J2EE标准的一个"实现"。因为jboss,weblogic。websphere自身带有J2EE的API,所以能够不使用sun的J2EE实现。

  在企业级应用中,都有一些通用企业需求模块,如数据库连接,邮件服务,事务处理等。既然很多企业级应用都需要这些模块,一些大公司便开发了自己的通用模块服务,即中间件。这样一来,就避免了重复开发,开发周期长和代码可靠性差等问题。但是,各公司的中间件不兼容的问题就出现了,用户无法将它们组装在一起为自己服务。于是,"标准"就应运而生了。

  简而言之:J2EE是一个企业级开发平台,这是一个标准,符合J2EE标准的各种开发出来的插件、框架等,都能够移植到这个平台上来,这就是J2EE。

J2EE就是基于JAVA技术的一系列标准。

  J2EE是Java2平台企业版(Java 2Platform Enterprise Edition),核心是一组技术规范与指南,其中所包含的各类组件,服务架构和技术层次,都有共同的标准及规格,让各种依云J2EE架构的不同平台之间,存在良好的兼容性。

J2EE的13种规范是什么?

1、JDBC(JavaDatabase Connectivity):Java数据库连接

  JDBC是以统一方式访问数据库的API。

  它提供了独立于平台的数据库访问,也就是说,有了JDBC API,我们就不必为访问Oracle数据库专门写一个程序,为访问Sybase数据库又专门写一个程序等等,只需要用JDBC API写一个程序就够了,它可以向相应数据库发送SQL调用。JDBC是Java应用程序与各种不同数据库之间进行对话的方法的机制,因此,JDBC对数据库的访问具有平台无关性。

  简单地说,它做了三件事:与数据库建立连接--发送操作数据库的语句--处理结果。

  

2、JNDI(JavaName and Directory Interface):Java命名和文件夹接口

  JNDI是一组在Java应用中访问命名和目录服务的API。

  (命名服务将名称和对象联系起来,我们即可用名称访问对象。JNDI允许把名称同Java对象或资源关联起来,建立逻辑关联,而不必知道对象或资源的物理ID。)JNDI为开发人员提供了查找和访问各种命名和目录服务的通用,统一的接口。

  利用JNDI的命名与服务功能可满足企业级API对命名与服务的访问,诸如EJB,JMS,JDBC 2.0以及IIOP上的RMI通过JNDI来使用CORBA的命名服务。

  JNDI和JDBC类似,都是构建在抽象层上。因为它提供了标准的独立于命名系统的API,这些API构建在命名系统之上。这一层有助于将应用与实际数据源分离,因此不管是访问的LDAP,RMI还是DNS。也就是说,JNDI独立于目录服务的具体实现,只要有目录的服务提供接口或驱动,就可以使用目录。

  

3、EJB(EnterpriseJavaBean):企业级Java Beans

  J2EE将业务逻辑从客户端软件中抽取出来,封装在一个组件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实现业务逻辑,而客户端软件的功能只是负责发送调用请求和显示处理结果。

  在J2EE中,这个运行在一个独立的服务器上,并封装了业务逻辑的组件就是EJB组件。其实就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。

4、RMI(Remote MethodInvoke):远程方法调用

  是一组用户开发分布式应用程序的API。

  这一协议调用远程对象上的方法使用了序列化的方式在客户端和服务器之间传递数据,使得原先的程序在同一操作系统的方法调用,变成了不同操作系统之间程序的方法调用,即RMI机制实现了程序组件在不同操作系统之间的通信。它是一种被EJB使用的更底层的协议。

  RMI/JNI: RMI可利用标准Java本机方法接口与现有的和原有的系统相连接

  RMI/JDBC: RMI利用标准JDBC包与现有的关系数据库连接

  这就实现了与非Java语言的现有服务器进行通信。

  

5、JavaIDL/CORBA(Common Object Request BrokerArchitecture):Java接口定义语言/公用对象请求代理程序体系结构

  Java接口定义语言/公用对象请求代理程序体系结构

  在JavaIDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将新的应用和旧的系统相集成。

  CORBA是面向对象标准的第一步,有了这个标准,软件的实现与工作环境对用户和开发者不再重要,可以把精力更多地放在本地系统的实现与优化上。

6、JSP(Java Server Pages)

  JSP页面=HTML+Java,其根本是一个简化的Servlet设计。

  服务器在页面被客户端请求后,对这些Java代码进行处理,然后将执行结果连同原HTML代码生成的新HTML页面返回给客户端浏览器。

  

7、Java Servlet

  Servlet是一种小型的Java程序,扩展了Web服务器的功能,作为一种服务器的应用,当被请求时开始执行。Servlet提供的功能大多和JSP类似,不过,JSP通常是大多数的HTML代码中嵌入少量的Java代码,而Servlet全部由Java写成并生成HTML。

  进一步说,servlet是java类,基于http协议的请求/响应模式,同web客户打交道。http servlet的特点是:由容器管理,能够产生动态的内容,能在本地session中存储客户数据

  

Tips:applet:小应用程序是採用Java编程语言编写的程序。该程序能够包括在 HTML(标准通用标记语言的一个应用)页中。与在页中包括图像的方式大致同样。

8、XML(Extenbile Markup Language):可扩展标记语言

  XML是一个用来定义其它标记语言的语言,可用作数据共享。XML的发展和Java是相互独立的。不过,它和Java具有的相同目标就是跨平台。通过将Java与XML结合,我们可以得到一个完全与平台无关的解决方案。

  正是具有平台独立性,故而与java的结合必将使得其开发更加的顺风顺水。

9、JMS(JavaMessage Service):Java消息服务

  它是一种与厂商无关的API,用来访问消息收发系统消息。它类似于JDBC。JDBC是可以用来访问不同关系数据库的API,而JMS则提供同样与厂商无关的访问消息收发服务的方法,这样就可以通过消息收发服务实现从一个JMS客户机向另一个JMS客户机发送消息,所需要的是厂商支持JMS。

  换句话说,JMS是Java平台上有关面向消息中间件的技术规范,它提供了一种通用的方式创建、发送、接受和读取企业信息通信系统的消息。

  

10、JTA(JavaTransaction API):Java事务API

  定义了一种标准API,应用程序由此可以访问各种事务监控。它允许应用程序执行分布式事务处理--在两个或多个网络计算机资源上访问并且更新数据。JTA和JTS为J2EE 平台提供了分布式事务服务。

  JTA事务比JDBC事务更强大,一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一的数据库连接。

  Java 事务API 可以横跨的包含:EJB訪问、JDBC连接以及JMS连接。

  

11、JTS(JavaTransaction Service):Java事务服务

  JTS是CORBA OTS事务监控器的一个基本实现。JTS指定了一个事务管理器的实现(Transaction Manager),这个管理器在一个高级别上支持JTA规范,并且在一个低级别上实现了OMGOTS规范的Java映射。一个JTS事务管理器为应用服务器、资源管理器、standalone应用和通信资源管理器提供事务服务。

12、JavaMail

  用于访问邮件服务器的API,提供了一套邮件服务器的抽象类。

13、JAF(JavaBeansActivation Framework):JavaBeans活动框架

  JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。JavaMail利用JAF来处理MIME编码的邮件附件。

  JFA主要作用在于让Java应用层序知道怎样对一个数据源进行查看、编辑和打印等操作。

它们之间有什么关系?

  以上介绍各个规范的同时也尽可能思考了各个规范之间的联系。最后用一张简单的图来表示各个规范之间的调用关系。

J2EE规范总结的更多相关文章

  1. J2EE规范 - 13种规范

    J2EE是由SUN提出的用于简化开发企业级应用程序的一系列规范的组合,J2EE基于中间层集成的框架的方式为应用开发提供了一个统一的开发平台.基于容器管理.组件化的模型为企业建立一个高可用性,高可靠性可 ...

  2. 认识J2EE规范或标准以及J2EE和JEE有什么不同?

    1. J2EE实际上是一组规范(新手对规范这个词可能云里雾里的,没有办法,JAVA概念太多了,大部分概念慢慢就会理解),没错,J2EE这个概念并不是某种技术,而是一堆规范(实现意义上可以说是一堆技术) ...

  3. 以EJB谈J2EE规范

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xiaoduishenghuogo/article/details/24800703 接触J2EE的时 ...

  4. J2EE规范

    J2EE是由SUN提出的用于简化开发企业级应用程序的一系列规范的组合,J2EE基于中间层集成的框架的方式为应用开发提供了一个统一的开发平台.基于容器管理.组件化的模型为企业建立一个高可用性,高可靠性可 ...

  5. 【J2EE】在项目中理解J2EE规范

             J2EE平台由一整套服务(Service),应用程序接口(API)和协议构成,它对开发企业级应用提供了功能支持.13个核心技术各自是JDBC, JNDI, EJB, RMI, JSP ...

  6. Java基础之J2EE规范

    什么是J2EE? 在企业级应用中,都有一些通用企业需求模块,如数据库连接,邮件服务,事务处理等.既然很多企业级应用都需要这些模块,一些大公司便开发了自己的通用模块服务,即中间件.这样一来,就避免了重复 ...

  7. J2EE规范标准

    J2EE是一个很大的平台体系,提供了很多服务.程序接口.协议等.这么庞大的体系必须要由一系列的标准进行规范,不然将会一片混乱.通过这些规范好的接口来开发程序将会使程序更加强壮.更加有生命力.总的来说, ...

  8. [J2EE规范]JDBC简单例子 标签: 数据库j2eejdbcjava 2017-06-29 10:55 353人阅读 评论(12)

    JDBC是什么? JDBC是java数据库连接(Java Database Connectivity),它是用于java编程语言和数据库之间的数据库无关连接的标准Java API,就是说,JDBC是用 ...

  9. [J2EE规范]RMI简单实例 标签: j2ee实例 2017-06-29 18:05 217人阅读 评论(13)

    RMI是什么? RMI是指Java Remote Method Invocation,远程方法调用,RMI是Java的一组拥护开发分布式应用程序的API.RMI使用Java语言接口定义了远程对象,它集 ...

随机推荐

  1. 新版CSDN-markdown编辑器使用指南

    本文来自CSDN官方,分markdown原文和实际显示部分,推荐开两个窗口对比浏览 Markdown部分 @[TOC](这里写自定义目录dd标题) # 欢迎使用Markdown编辑器 你好! 这是你第 ...

  2. BZOJ 4804

    辣鸡题目毁我青春 易推 \[\sum_{i=1}^n\sum_{i=1}^m \varphi(gcd(i,j))=\sum_{T}\frac{n}{T}\dfrac{m}{T}\sum_{d|T} \ ...

  3. C\C++ 内存对齐现象

    前几天一个在自学C语言的小伙伴问了我个问题,C语言结构体储存所占空间为啥和自己预测的不一样.看一下下面这一段代码: struct node{ int num; char ch; }a; printf( ...

  4. windows10计划任务启动bat执行jar打包的jar文件

    今天公司要用bat文件执行jar打包的java文件,运行没项目的程序,并且用任务计划开机自启,今天记录下坑 系统:win10 一.编写.bat执行用jar打包的jar文件 @echo off java ...

  5. Kotlin基础

    1.函数也是对象,可以作为参数和返回值 2.使用驼峰命名,尽量避免下划线 3.public函数应当有说明文档 4.lambda中花括号内前后都应该有空格 5.空值安全检查  var s: String ...

  6. SVN和Git的功能和区别,尚学堂SVN和Git学习视频资料免费下载

    对于软件开发人员来说,版本控制系统再熟悉不过了,所谓版本控制系统就是软件项目开发过程中用于储存开发人员所写代码所有修订版本的软件.目前常见的版本控制系统分为集中式版本控制系统(SVN)和分布式版本控制 ...

  7. Python公众号开发(二)—颜值检测

    上篇文章,我们把自己的程序接入了微信公众号,并且能把用户发送的文本及图片文件原样返回.今天我们把用户的图片通过腾讯的AI平台分析后再返回给用户. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造 ...

  8. 使用cloudreve搭建个人网盘

    这次将腾迅的对象存储cos挂载到了服务器上,就想自己搭建个网盘,虽然每月50G的空间和10G流量,也够用了 之前写过使用owncloud来搭建个人网盘,使用起来挺方便,就是不知道为什么感觉打开速度慢, ...

  9. Android 实现卡片翻转的动画(翻牌动画)

    Android 实现卡片翻转的动画(翻牌动画) 需求描述 点击卡片,卡片翻转过来显示内容. 点击左边的卡片,将卡片翻转显示右边的图片结果. 功能实现 因为要翻转所以使用动画来完成翻转的动画.动画分为两 ...

  10. JDK 和 OpenJDK 的区别

    历史上的原因是,openjdk是jdk的开放原始码版本,以GPL协议的形式放出.在JDK7的时候,openjdk已经成为jdk7的主干开发,sun jdk7是在openjdk7的基础上发布的,其大部分 ...