J2EE的十三个规范

J2EE想必大家都不陌生吧,貌似现在更流行将其称作JavaEE,不管名字怎么变,核心和思想是没有变的。学习J2EE首先要了解它的规范,下面我们一起看看它的十三个规范。

 

 

 

1,JDBC(Java Database Connectivity)

 

用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

个人理解:跟微软的ODBC很像,应该说是ODBC和ADO的结合。可以理解为面向对象的ODBC,毫无疑问,面向对象的接口对于Java程序员来说更容易理解。ODBC把简单功能跟高级功能放到了一起,相对来说比较难学,而JDBC尽量保证简单功能的简便性,同时又可以在需要的时候使用高级功能。JDBC针对Java的风格和优点进行了优化,让我们在使用时更加得心应手。

 

 

2,JNDI(Java Name and Directory Interface)

Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。

个人理解: JNDI是为了对高级网络应用开发中使用的目录基础结构进行访问。这个目录其实是一个特殊的数据库,提供了对存储数据的快速访问,不象传统的目录服务访问方式那样必须提供不同的API接口去访问不同的目录服务(如:LDAP,NIS,ADS等),它统一了不同类型目录访问的接口。JDNI与JDBC都构建在抽象层上。

 

3,EJB(Enterprise Javabean)

EJB是sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序。EJB是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。

个人理解:EJB是J2EE被程序员广泛运用的一大功臣,是J2EE的核心。EJB提供了一个框架来开发和实施分布式商务逻辑,从而大大简化了开发高复杂度、易扩展企业应用的难度。关于三种具体的Bean在接下来的文章中再深入讨论,这里就不说了。

 

4,RMI(Remote Method Invoke)

RMI 指的是远程方法调用 。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。

个人理解:RMI是非常重要的底层技术,是分布式的基础所在,刚刚提到的EJB就是建立在RMI的基础之上的。相比Web Service这样重量级的组件来说,RMI比较简单,更适合一些小型应用的使用。

 

5,Java IDL/CORBA

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

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

 

6,JSP(Java Server Pages)

JSP是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的。

个人理解:JSP跟ASP很像,ASP是在HTML的基础上加入了.Net代码,而JSP是在HTML的基础上加入了Java代码,它们都是动态网页,而JSP最大的优势就是跨平台,不但可以在Windows平台运行,还可以在Linux或者其他操作系统上运行。

 

7,Servlet

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

个人理解:Servlets提供的功能大部分JSP相同,它采用的是一个有点不同的方法。JSP中大部分是HTML代码,其中只有少量的Java代码,而servlets则相反,它完全使用Java编写,并且可以产生HTML代码。JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计者进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。Servlet跟微软的一般处理程序很像。

 

8,XML(Extensible Markup Language)

用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

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

 

9,JMS(Java Message Service)

JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

个人理解: JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,又支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与旧的后台系统相集成。

 

10,JTA(java transaction Architecture)

Java事务API。允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大地增强了数据访问能力。

个人理解:JTA定义了一个标准的API,应用可以通过它来访问事务监控器。JTA事务比JDBC事务更强大。一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一的数据库连接。

 

 

11,JTS(java transaction Service API)

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

 

 

12,JavaMail

 

JavaMail是一个用来访问邮件服务器的API。JavaMail API提供了一套抽象类来模型化一个邮件系统。支持SMTP和IMAP服务器。

 

 

13,JAF(JavaBean Activation FrameWork)

 

JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。JAF的主要作用在于让java应用程序知道如何对一个数据源进行查看、编辑和打印等操作。 Mail API 的所有版本都需要 JavaBeans Activation Framework 来支持任意数据块的输入及相应处理。功能似乎不多,但目前许多浏览器和邮件工具中都能找到这种基本的 MIME 型支持。activation.jar 文件就是JAF的框架jar包。       

 

终于整完了,不得不说写这类比较抽象的东西真是费时费力又费脑细胞啊!目前对于J2EE的理解还非常的肤浅,还需要在今后的学习与实践中不断的深入,希望大家多多指点。

转载于:https://www.cnblogs.com/jameslif/p/3708490.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xshell登录Linux服务器 提示WARNING! The remote SSH server rejected X11 forwarding request 及 提示符显示-bash-4.2#

用root登录 Xshell 登录Linux服务器 提示 WARNING! The remote SSH server rejected X11 forwarding request 以及 用户表示符是:-bash-4.2# 而不是user主机名 路径的显示方式。 首先先查 The remote SSH server rejected X11 forwarding request。 解决过程 …

Q我音乐

转载于:https://www.cnblogs.com/lovelife20/p/3709191.html

SRS 启动正常,拉流没画面,看SRS日志报错 srs is already running

日常启动SRS 出错,如下图:像是已有存在的启动。 然后各种停止进程,停止 SRS 服务,日志还是一样的错误提示。 各种查进程或者程序是否存在,并且reboot过了。都不行,折腾一番,没解决问题。最终重…

web开发常用工具介绍

web开发工具介绍: 主要浏览器:IE浏览器、火狐浏览器、谷歌浏览器、Edge浏览器、Safari浏览器、Opera浏览器等。 浏览器市场份额:http://tongji.baidu.com/data/browser 浏览器内核有四种: Trident内核、Gecko内核、WebKit内核、…

CentOS 7安装Development Tools 失败 报错 group tools does not exist. Maybe run: yum groups mark install

重装centos,以及迁移时,碰见这个问题。如下图: CentOS 7安装Development Tools 失败 报错 group tools does not exist. Maybe run: yum groups mark install 报错图示: 一通尝试。最后如下三行解决。 yum groups mark instal…

HTML常用标签、特殊字符、路径

跳转到邮箱&#xff1a; <a href"mailto:someonemicrosoft.com?subjectHello%20again">发送邮件</a><a href"mailto:someonemicrosoft.com?ccsomeoneelsemicrosoft.com&bccandsomeoneelse2microsoft.com&subjectSummer%20Party&bo…

VM Ware 虚拟机centos 时间与本地时间不一致

VM Ware 虚拟机centos 时间与本地时间不一致&#xff0c;如下图。大致是时区设置的问题&#xff0c;设置为中国标准时区即可&#xff0c;CST。 解决办法 1.安装时间同步插件 ntpdate yum install ntpdate 2.启动服务 service ntpdate restart 或 systemctl restart ntpdat…

html中列表、表格、合并单元格

列表&#xff1a; 分为无序列表、有序列表、自定义列表 无序列表&#xff1a; <ul> <!-- ul标签中只能容纳li标签&#xff0c;li标签里面可以容纳其他标签 --><li>列表项1</li><li>列表项2</li><li>列表项3</li>...</ul&…

结婚虽易,终老不易:EntityFramework和AutoMapper的婚后生活

写在前面 我到底是什么&#xff1f;越界的可怕做好自己后记上一篇《恋爱虽易&#xff0c;相处不易&#xff1a;当EntityFramework爱上AutoMapper》文章的最后提到&#xff0c;虽然AutoMapper为了EntityFramework做了一些改变&#xff0c;然后就看似幸福的在一起了&#xff0c;但…

Linux 学会看日志文件处理问题

rsyslog是一个进程&#xff0c;是一个命令。管理日志的。–》系统日志记录器 它有一个配置文件&#xff1a;/etc/rsyslog.conf 自己创建日志时&#xff0c;要修改该配置文件。 日志的作用&#xff1a; 用于记录系统、程序运行中发生的各种事件&#xff1b; 通过阅读日志&…

html中input、label、form、textarea、select

表单input&#xff1a; 表单是用来收集信息的&#xff0c;由表单控件(表单元素)、提示信息、表单域构成。 input控件的属性及值&#xff1a; 除以上属性外&#xff0c;input元素type属性还有一个number属性值&#xff0c;此为仅可以填数字&#xff0c;默认是可以选择或者填写…

html中文本格式化、预格式化、计算机输出标签、address、title、文字方向、著作

文本格式化标签&#xff1a; 预格式化标签pre&#xff1a; 网页中文本默认是显示一行&#xff0c;没有格式&#xff0c;通过<pre></pre>标签包裹会显示默认的格式。 <pre> <!-- 通过pre标签包裹后&#xff0c;会有默认的格式 -->云想衣裳花想容&…

html5简介、选项输入框、表单元素分组、input新增属性及属性值

HTML5简介: 定义&#xff1a;HTML5号称下一代HTML&#xff0c;html的最新版本&#xff0c;定义了新的标签、css、JavaScript&#xff0c;html5新标签IE9以上版本浏览器才兼容&#xff0c;因此在实际开发中要问老板是否兼容低版本浏览器。 扩展内容&#xff1a;语义化标签、本…

Linux crontab 定时任务没执行,没收到错误信息邮件

crond 定时任务 没执行&#xff0c;简单的打印日期&#xff0c;reboot 命令 等也没执行成功&#xff08;语法确保没错&#xff09;。捣鼓一整算是有些进展。 centos7 不过这个好像没啥问题吧。。 分割线------------------------------------------------------- 01 最开始就…

$@ $# $2 $0 $* Linux 参数使用

命令行参数 运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 $n 表示&#xff0c;例如&#xff0c;$1 表示第一个参数&#xff0c;$2 表示第二个参数&#xff0c;依次类推。 1 $ 表示所有参数&#xff1b;并且所有参数都是独立的&#xff1b;可以用来做 for e…

html5中音频、视频标签、自定义播放器常用属性及方法、全屏操作、新增属性兼容问题

多媒体标签: 音频标签audio: <audio src"音频文件的URL"></audio><!-- audio标签需要controls控件才可以播放音频&#xff0c;controls的属性值可以省略&#xff0c;如果URL为视频格式文件&#xff0c;则只会播放音频 -->html5中通过audio标签实现…

设计模式(17) 访问者模式(VISITOR) C++实现

意图&#xff1a; 表示一个作用于某对象结构的各元素的操作。它使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作。 动机&#xff1a; 之前在学校的最后一个小项目就是做一个编译器&#xff0c;当时使用的就是访问者模式。 在静态分析阶段&#xff0c;将源程序表…

云服务器的主机名是否可以修改??

云服务器的主机名是否可以修改&#xff1f; 1 要是自己建的虚拟机等&#xff0c;这可以随便改&#xff0c;不影响。 2 要是云服务器&#xff0c;阿里云 华为云等&#xff0c;因为是项目上服务器厂商给提供的服务器信息&#xff0c;所以遇到问题需要改主机名时&#xff0c;为了…

CSS简介、行内样式、内部样式、外部样式、注释、引入其他CSS文件

CSS的发展历程&#xff1a; 起初是没有css的&#xff0c;只有少量样式是可以写在html标签中&#xff0c;这样代码格外显得臃肿&#xff0c;此时CSS就出现了。 初识CSS&#xff1a; CSS(Cascading Style Sheets),被称为CSS样式表或者层叠样式表&#xff0c;主要用于设置HTML页…

CISCO PVST+配置和结果验证 per vlan spanning tree(51cto 实验10)

1. 实验线路连接图使用Cisco Packet Tracer6.0 构建拓扑结构图 2. 实验内容(1) 参阅教材中内容&#xff0c;完成PVST的配置内容。(2) 在各台交换机上使用show spanning-tree vlan 10 和show spanning-tree vlan 20 命令&#xff0c;查看根桥信息、各端口角色和各端口状态。(3) …