初探J2EE
还记得在技术交流会上八期给我们讲的J2EE,当时就是云里来屋里去。留在自己脑子中的仅仅有两个字“规范”,其他的真是一无全部。
可是如今学了后,又在脑子里留下了两个字“规范”,但此“规范”不比彼“规范”。
此“规范”对其有了一个简单的认识,那么接下来就对此“规范”进行一下了解。
一、是什么?
J2EE官方说是一套完全不同于传统应用开发的技术框架,包含很多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。简单的一句话就是“统一系统开发和部署的一种规范。让不同系统开发商能够拥有统一的规范接口,从而提高可移植性、安全与再用价值”
明确了J2EE是什么?更艰巨的任务又来了:“它的体系结构是什么?既然它是规范。那么它的规范有哪些呢?这些规范有时怎么用的呢?其核心又是什么呢?”带着这些问题咱们进入学习:
二、体系结构是什么?
J2EE使用多层分布式的应用模型,通常通过三层或四层来实现:
1、客户层,执行在客户计算机上的组件。
2、Web层。执行在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来完毕远程调用,分布式的一种解决方法。
4、JNDI
用于规范文件夹,寻找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的更多相关文章
- J2EE初探
J2EE概述 3层结构 4层模型 13项核心技术 J2EE容器 J2EE的优势与缺陷 J2EE概述 Java 2平台有3个版本,分别是适用于小型设备和智能卡的Java 2平台Micro版(Java ...
- Spark Streaming揭秘 Day20 动态Batch size实现初探(上)
Spark Streaming揭秘 Day20 动态Batch size实现初探(上) 今天开始,主要是通过对动态Batch size调整的论文的解析,来进一步了解SparkStreaming的处理机 ...
- Alibaba开源组件-分布式流量控制框架sentinel初探
Alibaba开源组件-分布式流量控制框架sentinel初探 2018年12月09日 18:23:11 SuperPurse 阅读数 1965更多 分类专栏: J2EE 版权声明:本文为博主原创 ...
- Java学习资源 - J2EE
java Web开发基础(一)工程项目文档结构 ========rmi=========== Java RMI 框架(远程方法调用) java RMI原理详解 深究Java中的RMI底层原理 ==== ...
- SpringBoot-02-原理初探之主启动类
2. 原理初探 2.1 pom.xml 父依赖 主要依赖一个父项目,主要管理项目的资源过滤和插件 <parent> <groupId>org.springframework.b ...
- SpringBoot-02 运行原理初探
SpringBoot-02 运行原理初探 本篇文章根据b站狂神编写 pom.xml 2.1.父依赖 其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件! <parent> < ...
- 初探领域驱动设计(2)Repository在DDD中的应用
概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...
- J2EE 项目读写分离
先回答下 1.为啥要读写分离? 大家都知道最初开始,一个项目对应一个数据库,基本是一对一的,但是由于后来用户及数据还有访问的急剧增多, 系统在数据的读写上出现了瓶颈,为了让提高效率,想读和写不相互影响 ...
随机推荐
- UVA 11045 My T-shirt suits me
一开始就想到网络流..后来一想暴力能不能过.自己写的T了.看了别人有暴力过的. 暴力的思路就是6进制数字表示给予的衣服的数量.然后每个人的需求表示成01 的6位串然后爆搜. 网络流就建一个源一个汇 然 ...
- java1.7集合源码阅读:ArrayList
ArrayList是jdk1.2开始新增的List实现,首先看看类定义: public class ArrayList<E> extends AbstractList<E> i ...
- 钩子注入呼出与隐藏DLL窗口
/ MFC_DLL.cpp : 定义 DLL 的初始化例程. // #include "stdafx.h" #include "MFC_DLL.h" #incl ...
- 配置OpenResty支持SSL(不受信任的证书)
#关闭防火墙 chkconfig iptables off service iptables stop #关闭SELINUX sed -i 's/SELINUX=enforcing/SELINUX=d ...
- laravel中建立公共视图的方法
1.用法概要 @include('common.header') 包含子视图 @extends('article.common.base') 继承基础模板 @yield('content') 视图占位 ...
- 天猫首页迷思之-jquery实现整个div的懒加载(1)
懒加载是众所周知的减少网页负载,提高性能的方法,不少大型用图片用的多的网站都用到了. 于是我网上一搜,得到一插件:jquery.lazyload 网址:http://www.appelsiini ...
- 一篇好文档,请Thymeleaf Layout Dialect
Thymeleaf Layout Dialect https://ultraq.github.io/thymeleaf-layout-dialect/ This will introduce the ...
- Android集成高德地图如何自定义marker
高德地图自定义Marker 高德地图默认的marker样式是这种 一般的修改样式是通过icon接口来调整 MarkerOptions markerOptions = new MarkerOptions ...
- C# web server的开发流程
http://blog.csdn.net/h0322/article/details/4776819
- 牛客网 暑期ACM多校训练营(第二场)A.run-动态规划 or 递推?
牛客网暑期ACM多校训练营(第二场) 水博客. A.run 题意就是一个人一秒可以走1步或者跑K步,不能连续跑2秒,他从0开始移动,移动到[L,R]的某一点就可以结束.问一共有多少种移动的方式. 个人 ...