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

 在详细学习java之前。我们先来学习j2EE。

 1.      什么是J2EE?

  Ø  背景

  我们常常听说这种一句话:“一流企业做标准、二流企业做品牌、三流企业做产品。”什么 意思呢?三流企业做产品不过最简单的劳动力转化为商品的过程;二流企业做品牌。就是在做商品的基础上,树立一种品牌荣誉感和责任感。比如非常多名牌像苹果等等手机品牌,你冲着它的牌子也愿意高价购买,由于他们质量好,有内涵,审美高等等;一流企业做标准。这更加超出了做品牌的概念,即他们在超越了树立品牌的那个阶段后。被业内外广泛认可并作为努力模仿赶超的对象,他们做出的东西都可作为同行努力的方向和參照。

  在我们的计算机编程的世界中也存在这种标准或者说是规范,在介绍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。

他不是一个产品。而是一个标准。

 2.      J2EE的十三个规范

  Ø  JDBC(Java DatabaseConnectivity):Java数据库连接

  JDBC为java开发人员提供了一个行业标准API,能够在java应用与关系数据库之间建立起独立于数据库的连接。也就是说JDBC API为訪问不同的数据库提供了一种统一的途径。同一时候我们会发现事实上JDBC是与ODBC非常相似的,像ODBC一样, JDBC对开发人员屏蔽了一些细节问题,另外,JDCB对数据库的訪问也具有平台无关性。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDk1NTg0Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  Ø  JNDI(Java Naming andDirectoryInterfaces):Java命名和文件夹接口

  JNDI是一个java应用程序设计接口(API),为开发者提供了查找和訪问命名和文件夹服务的通用、统一的方式,它是构建在DNS(Domain Name System,域名系统)、LDAP(LDAP是轻量文件夹訪问协议,英文全称是LightweightDirectory Access Protocol,一般都简称为LDAP。

)等服务之上的。



  Ø  EJB(Enterprise JavaBean)企业级Java Beans

  J2EE技术之所以赢得广泛重视的原因之中的一个就是EJB.它提供了一个框架来开发和实施分布式商务逻辑,由此非常显著的简化了具有可伸缩性和高度复杂的企业级应用程序的开发.EJB规范定义了EJB组件在何时怎样与它们的容器进行交互作用.容器负责提供公用的服务,比如文件夹服务,事务管理,安全性,资源缓冲池以及容错性。

  总的来说。EJB是实现分布式业务逻辑的java组件。“企业“意味着应用的扩展性、可靠性、可用性、安全性、事务性以及分布性。而EJB为客户提供可分布和可部署的业务逻辑服务,而且拥有良好的接口。在提供管理和控制服务的容器中运行。

而且是在应用服务之间是可重用的。

  Ø  RMI(Remote MethodInvocation):远程方法调用

  远程方法调用(RMI)是基于java的分布式编程模型。同意对象使用stub(.为屏蔽客户调用远程主机上的对象,必须提供某种方式来模拟本地对象,这样的本地对象称为存根(stub),存根负责接收本地方法调用,并将它们委派给各自的详细实现对象)和skeleton(Skeleton 接口仅供 RMI 实现单独使用。远程对象的 skeleton是一个将调用指派给实际远程对象实现的server端实体。已过时)调用远程的对象,此外RMI使用序列化在两个对象间通过值数据传输。



  Ø  JavaIDL/CORBA(JavaInterfaceDefiniyion Language/Common Object Request Broker Architecture ):Java接口定义语言/公用对象请求代理程序体系结构

  在java IDL的支持下,开发者能够将Java和CORBA集成在一起。他们能够创建Java对象并使之能够在CORBA ORB(ORB (Object Request Broker) 对象请求代管者)中展开,或者他们还能够创建Java类并做为和其它ORB一起展开的CORBA对象客户。

后一种方法提供了第二种途径。通过它能够被用于你的新的应用和旧系统相集成。

  Ø  JSP(Java Server Pages)

  JSP是执行于server端;动态公布的语言 。是java servlet技术的发展和自然扩展,将转化为servlet;依据client请求创建动态web页面的文本文件,是j2ee中的“视图“组件;其包含HTML标签,JSP标签,以及java代码。



  Ø  Java Servlet

  Servlet 是一种小型的Java程序,它扩展了webserver的功能.作为一种server的应用,当被请求时開始运行,这和CGI Per(通用网关接口CGI。是一组标准定义之间交换信息的Webserver和自己定义脚本。)脚本非常相似.Servlet提供的功能大多和JSP类似,只是实现的方式不同.JSP一般是大多数的HTML代码中嵌入少量的Java代码,而servlet所有由java写成而且生成HTML.

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

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

  Ø  XML(Extensible MarkupLanguage)可扩展标记语言

  XML(标准通用标记语言的子集)是一种能够用来定其他标记语言的语言.它被用来在不同的商务过程中共享数据.XML的发展和java是相互独立的,可是,它和java具有的同样目标是平台独立性。

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

  Ø  JMS(Java MessageService):Java消息服务

  JMS是用于和面向对象消息的中间件(中间件是一种独立的系统软件或服务程序,分布式应用软件借助这样的软件在不同的技术之间共享资源。中间件位于客户机/ server的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。)相互通信的应用程序接口。JMS是Java
API,提供了一种通用的方式创建、发送、接受和读取企业信息通信系统的消息。

而且该接口支持的有:点对点模型、公布/订阅模型、保证消息分发以及事务会话等等。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDk1NTg0Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  Ø  JTA(Java Transaction API):Java事务API

  JTA定义了一种标准API,应用程序由此能够訪问各种事务监控,JTA事务比JDBC事务更强大。一个JTA事务能够有多个參与者,而一个JDBC事务则被限定在一个单一的数据库连接。

而且为J2EE平台提供了分布式事务服务。

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



  Ø  JTS:Java TransactionService。Java事务服务

  Java TransactionService 是 J2EE 架构的关键元素。它与 Java Transaction API 结合在一起,使我们可以构建对于各种系统和网络故障都很健壮的分布式应用程序。

  一个分布式事务(distributedtransaction)包含一个事务管理器(transaction manager)和一个或多个资源管理器(resource manager)。

一个资源管理器(resource manager)是随意类型的持久化数据存储。事务管理器(transaction manager)承担着全部事务參与单元者的相互通讯的责任。

  Ø  JavaMail

  JavaMail是用于存取邮件server的API,它提供了一套邮件server的抽象类.不仅支持SMTPserver,也支持IMAPserver。

  Ø  JAF(JavaBeans ActivationFramework):JavaBeans活动床架

  JAVA MAIL是用于存取邮件server的API。它提供了一套邮件server的抽象类。不仅支持SMTPserver,也支持IMAPserverJAVA MAIL利用JAVA BEANSACTIVATION FRAMEWORK (JAF)来处理MIME-编码的邮件附件。

MIME的字节流能够被转换成JAVA对象。或者转换自JAVA对象。由此大多数应用都能够不须要直接使用JAF。

  JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序訪问和操作数据的接口。JFA主要作用在于让Java应用层序知道怎样对一个数据源进行查看、编辑和打印等操作。

 3.      小结

  对于java的十三个规范算是整完了,因为是刚刚接触,对于这块的学习还是有点陌生,在旧的知识上学习新的知识,编制知识网,将知识进行串联。相信非常快就会熟悉的,这里仅仅是自己的初步学习,关于很多其它的总结和理解,将在以下的学习中进行不断地的深入。希望之后理解进一步加深。

  总而言之:J2EE并不是一个产品,而是一系列的标准。

J2EE十三个规范小结的更多相关文章

  1. 浅识J2EE十三个规范

    前言 没有规矩不成方圆,学习J2EE,先来明白都有什么规范. 内容 1.JDBC(Java Database Connectivity)java数据库连接 a)为java开发人员提供了一个行业标准AP ...

  2. j2ee的十三个规范

    转载 今天在做连接oracle数据库的时候,感受到了什么是规范.平时听到别人说学习j2ee一定要学习他的十三个规范,大概的知道每个规范是做什么的,每个“接口”是做什么的.          很早就听过 ...

  3. J2EE基础篇——十三个规范

    背景: 1.企业级应用框架的需求,在很多企业级应用中.比如数据库连接.邮件服务.事务处理等都是一些通用企业需求模块,这些模块假设每次在开发中都由开发者来完毕的话,将会造成开发周期长和代码可靠性差等问题 ...

  4. 【J2EE】十三个规范:愿天下苍生,人人如猿。

    学习了J2ee后对java这个立足标准化的行为感到深深的佩服. 收买什么都不如收买人心,培养啥子都不如培养 习惯.没错,java就是在培养行业习惯,以一纸规范屹立不倒.毕竟技术什么的层出不穷,再新再前 ...

  5. Java EE的十三个规范

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

  6. Atitit  J2EE平台相关规范--39个  3.J2SE平台相关规范--42个

    Atitit  J2EE平台相关规范--39个  3.J2SE平台相关规范--42个 2.J2EE平台相关规范--39个5 XML Parsing Specification16 J2EE Conne ...

  7. J2EE十三个技术规范

    从事Java开发的童鞋都知道,java是一种非常棒的语言,能够实现跨平台运行.它屏蔽了具体的平台环境的要求,也就是说,无论是windows,还是Unix.Linux系统,只要支持Java虚拟机,就可以 ...

  8. (转)J2EE十三个技术规范

    从事Java开发的童鞋都知道,java是一种非常棒的语言,能够实现跨平台运行.它屏蔽了具体的平台环境的要求,也就是说,无论是windows,还是Unix.Linux系统,只要支持Java虚拟机,就可以 ...

  9. J2EE十三种技术规范介绍

    J2EE的十三个技术规范 J2EE体系结构 一.JDBC:Java Data Base Connectivity,数据库连接 我们大家对微软公司的ODBC数据库访问接口比较熟悉,而在Java中创建数据 ...

随机推荐

  1. 数据结构 单链表元素定位 PTA

    由于这个很简单,他也貌似没要判断溢出,取巧突破 #include<stdio.h> #include<malloc.h> #include<stdlib.h> // ...

  2. 常见的XSS攻击代码

    第一类: <tag on*=*/> 在html标签事件中触发,典型的是on*事件,但是这种触发模式的缺陷在于不能直接触发所以更多的需要配合使用. eg: 1.使html元素占据整个显示页面 ...

  3. struts2中struts.xml配置文件详解

    struts.xml的常用配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts ...

  4. 【1】hadoop搭建常用的Linux命令收集

    大数据学习第一步:Linux入门学习所需要的命令(非基础却常用) chmod u+x /filepath/../filename : u.g.o表示三个不同组,r.w.x表示可读可写可执行,+.-表示 ...

  5. java参数传值方式

     java参数有值类型和引用类型两种.所以java参数的传值也就从这两个方面分析. 从内存模型来说参数传递更为直观一些,这里涉及到两种类型的内存:栈内存(stack)和堆内存(heap).   基本类 ...

  6. [模拟]P1202 [USACO1.1]黑色星期五Friday the Thirteenth

    原题 解析: 坑 其实.样例的部分是从周六~周五输出的,习惯不同吧..这里考虑到从这个月的13号到下一个月的13号所花天数为这个月的天数,然后愉快的判断一下闰年即可.这里的周一~周日编号为0~6,一月 ...

  7. ConstraintLayout

    ConstraintLayout使用笔记 具体使用参考:http://blog.csdn.net/guolin_blog/article/details/53122387 ConstraintLayo ...

  8. AbpZero双重认证之短信的坑

    一.什么是双重认证 所谓双重认证简单来说就是除了用户名密码方式外,还额外增加了一道登录屏障.登录时先输入用户名和密码,正确后会向邮箱或手机号发送一个验证码(取决于您采用何种方式,甚至可以采用银行的电子 ...

  9. [flask实践] 解决mysql数据库不支持中文的问题

    接上一篇文章,在解决了mysql+flask环境配置问题之后,往数据库存中文字符串会报1366错误,提示不正确的字符.继而发现默认的mysql采用了Latin1字符集,这种编码是不支持中文的. 如果想 ...

  10. 手动编译 Nginx 并安装 VeryNginx

    VeryNginx 是个非常有意思且便捷的 Nginx 扩展程序.最近新开了台 VPS,便想体验一下它带来的快感. VeryNginx 有个不超过 5 行的安装方法,但作为强迫症我更喜欢使用自己编译的 ...