还记得在技术交流会上八期给我们讲的J2EE,当时就是云里来屋里去。留在自己脑子中的仅仅有两个字“规范”,其他的真是一无全部。

可是如今学了后,又在脑子里留下了两个字“规范”,但此“规范”不比彼“规范”。

此“规范”对其有了一个简单的认识,那么接下来就对此“规范”进行一下了解。

一、是什么?

J2EE官方说是一套完全不同于传统应用开发的技术框架,包含很多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。简单的一句话就是“统一系统开发和部署的一种规范。让不同系统开发商能够拥有统一的规范接口,从而提高可移植性、安全与再用价值”

明确了J2EE是什么?更艰巨的任务又来了:“它的体系结构是什么?既然它是规范。那么它的规范有哪些呢?这些规范有时怎么用的呢?其核心又是什么呢?”带着这些问题咱们进入学习:

二、体系结构是什么?

J2EE使用多层分布式的应用模型,通常通过三层或四层来实现:

1、客户层,执行在客户计算机上的组件。

2Web。执行在J2EEserver上的组件。

3、业务层,相同是执行在J2EEserver上的组件。

4、企业信息系统层(EIS。是指执行在EISserver上的软件系统。

以上划分也可说是MVC三层应用,因分布在三个不同位置:客户计算机、J2EEserver及后台的数据库或过去遗留下来的系统。

三、核心是什么?

J2EE有13个规范:JDBC, JNDI, EJBS, RMI, JSP, JAVASERVLETS, XML, JMS, JAVA IDL, JTS, JTA, JAVAMAIL

接下来就对J2EE的核心技术规范进行简单描写叙述

1、JDBC(Java
Database Connectivity )

JDBC API被用于运行名字和文件夹服务。它提供了一致的模型用于连接不同数据库的接口。

类似有ODBC

2、RMI

主要用于远程方法调用

3、EJB

用RMI来完毕远程调用,分布式的一种解决方法。

 4JNDI

用于规范文件夹,寻找EJB想要的地址,类似于DNS域名解析。

5、JMS

消息服务。类似于观察者模式。有一对一的队列式,另一对多的topic式。EJB将其公布到JMS,JMS在JNDE中注冊。然后为EJB服务。

6、JTA

解决事务和分布式的问题。与JTS一块完毕。统一规范两个不同系统事务的接口。

7、JAVAMALL/JAF

JAVAMALL用于处理邮件的接口,JAF用于处理邮件附件的接口

8、JAVASERVLETS和JSP

解决web层服务端接收client消息及消息的返回的HTML。

9、JAVA IDL/CORBA

开发者能够将Java和CORBA集成在一起。

集成后能够创建Java对象或Java类,即:能够被用于将你的新应用程序和旧的系统集合在一起。

10、XML

是一种标记语言。它用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但它们有共同的目标“平台独立性”。

11、JMS

是用于和面向对象消息的中间件相互通信的应用程序接口。

四、总结

以上就是对J2EE的简单理解,即J2EE就是一个规范,它的表现形式就是提供的不同的接口,而且这些接口已经由各公司实现。我们在开发系统的时候就直接调用它的接口实现就好。理解欠缺的地方在今后的学习中,会慢慢的深入。

初探J2EE的更多相关文章

  1. J2EE初探

    J2EE概述 3层结构 4层模型 13项核心技术 J2EE容器 J2EE的优势与缺陷   J2EE概述 Java 2平台有3个版本,分别是适用于小型设备和智能卡的Java 2平台Micro版(Java ...

  2. Spark Streaming揭秘 Day20 动态Batch size实现初探(上)

    Spark Streaming揭秘 Day20 动态Batch size实现初探(上) 今天开始,主要是通过对动态Batch size调整的论文的解析,来进一步了解SparkStreaming的处理机 ...

  3. Alibaba开源组件-分布式流量控制框架sentinel初探

    Alibaba开源组件-分布式流量控制框架sentinel初探 2018年12月09日 18:23:11 SuperPurse 阅读数 1965更多 分类专栏: J2EE   版权声明:本文为博主原创 ...

  4. Java学习资源 - J2EE

    java Web开发基础(一)工程项目文档结构 ========rmi=========== Java RMI 框架(远程方法调用) java RMI原理详解 深究Java中的RMI底层原理 ==== ...

  5. SpringBoot-02-原理初探之主启动类

    2. 原理初探 2.1 pom.xml 父依赖 主要依赖一个父项目,主要管理项目的资源过滤和插件 <parent> <groupId>org.springframework.b ...

  6. SpringBoot-02 运行原理初探

    SpringBoot-02 运行原理初探 本篇文章根据b站狂神编写 pom.xml 2.1.父依赖 其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件! <parent> < ...

  7. 初探领域驱动设计(2)Repository在DDD中的应用

    概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...

  8. CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探

    CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...

  9. J2EE 项目读写分离

    先回答下 1.为啥要读写分离? 大家都知道最初开始,一个项目对应一个数据库,基本是一对一的,但是由于后来用户及数据还有访问的急剧增多, 系统在数据的读写上出现了瓶颈,为了让提高效率,想读和写不相互影响 ...

随机推荐

  1. trickle charging current is 0A ?

    Recently, I test trickle charging current of the smart phone. It's 0A. ?????????????????????? yes, i ...

  2. hdu 5163(前缀和+分类讨论)

    Taking Bus Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  3. AC日记——Maximal GCD codeforces 803c

    803C - Maximal GCD 思路: 最大的公约数是n的因数: 然后看范围k<=10^10; 单是答案都会超时: 但是,仔细读题会发现,n必须不小于k*(k+1)/2: 所以,当k不小于 ...

  4. J.U.C并发框架源码阅读(十五)CopyOnWriteArrayList

    基于版本jdk1.7.0_80 java.util.concurrent.CopyOnWriteArrayList 代码如下 /* * Copyright (c) 2003, 2011, Oracle ...

  5. 牛客网 牛客小白月赛5 I.区间 (interval)-线段树 or 差分数组?

    牛客小白月赛5 I.区间 (interval) 休闲的时候写的,但是写的心情有点挫,都是完全版线段树,我的一个队友直接就水过去了,为啥我的就超内存呢??? 试了一晚上,找出来了,多初始化了add标记数 ...

  6. poj1743(后缀数组)

    poj1743 题意 给出一个数字序列(串),现在要去寻找一个满足下列条件的子串: 长度不小于 5 存在重复的子串(如果把一个子串的所有数字都加上或减去一个值,与另一子串的数字对应相同,我们称它们重复 ...

  7. UVA 11134 Fabled Rooks 贪心

    题目链接:UVA - 11134 题意描述:在一个n*n(1<=n<=5000)的棋盘上放置n个车,每个车都只能在给定的一个矩形里放置,使其n个车两两不在同一行和同一列,判断并给出解决方案 ...

  8. 更改vsftpd默认的21端口

    vsftpd默认的端口是21 我想更改为别的端口 那么首先编辑 vsftpd的配置文件 /etc/vsftpd/vsftpd.conf 添加监听端口 listen_port **** 然后修改ftp的 ...

  9. 新建一个兼容eclipse和myeclipse、IDEA都兼容的项目结构(maven)

    以下观点为个人理解,没实践过,后续再实现. 思路: 1.eclipse和myeclipse.IDEA这些开发工具新建的各自的项目时,都有自己的一套思路,项目结构都有各自的特点. 2.如果是这些开发工具 ...

  10. linux之ssh命令

    ssh命令用于远程登录上Linux主机. 常用格式:ssh [-l login_name] [-p port] [user@]hostname更详细的可以用ssh -h查看. 不指定用户: ssh 1 ...