Java EE 简介

Java EE 基本架构

JavaEE 的诞生是为了解决传统 C/S 架构的弊端:客户端臃肿庞大,扩展性差等弊端。 JavaEE 将传统的两层结构细分为了四层。

这四层分别是:Client 层, Web 层, Business 层, EIS 层

Java EE 客户端

Java EE客户端层可分为以下几种:

Web 客户端,通常是浏览器呈现的网页,这种客户端成为轻量级客户端,因为他们不与数据库打交道,也没有执行业务上的复杂逻辑。

Application 客户端,通常是用Swing或者 AWT写成。 这种客户端一般是直接连到 Business Tier,但是客户端也可以通过 HTTP 连接到 Web Tier 的Servlet。

Applets,是一种运行在浏览器 Java 虚拟机上的小程序。

如果有 ‘data flow’ 在网络上传输,则还需要 JavaBeans。

层与层之间通信,Web 客户端一般先于 Web 层打交道,Web 层与 Business层通讯, Business层从 EIS层交互。 而普通的Application 客户端则可以直接与 Business层交互。如下图:

Web 层组件

为什么叫“组件”? 与下文容器对应。

Web 组件包括:

Servlet

JSP

JSF

注意: 静态网页不是 Web 组件,而是作为一个Web组件的一个 Bundle。

Business 层组件

Business 组件一般是与业务需求相对应的代码,通常被称为 Enterprise JavaBeans。比如,如何从客户端接受信息,如何根据具体业务逻辑处理信息,以什么样的格式存储在数据库中。

EIS 层

可以是DB或者是一个企业级的信息系统(EIS).

下图展示了 Business 层如何与EIS 交互。

Java EE 技术变迁

Java EE前身是J2EE(J2EE最后一个版本号是1.4),截止到目前,最新的是 1.7版本。下图揭示了Java EE中的技术变迁:

每种技术的简单介绍请参照这里;

Java EE 容器

前面我们介绍Java EE分层的时候,Web 层和 Business 层用的是 组件(Component), 原因是Web层和Business层的代码一般要部署到一个容器(Container)中。容器 名字的由来是 Container pattern。

[A CONTAINER provides] an execution environment that is responsible for adding the technical concerns to the COMPONENTS...Conceptually, it wraps the COMPONENTS, thus giving clients the illusion of tightly-integrated functional and technical concerns.

由于组件的类别不同,容器也分很多种,常见的有:

EJB 容器。 管理 Enterprise Beans 执行的容器。

Web 容器。 管理 Web 页面,Servlet和某些 EJB 组件 运行的容器。

Java EE Server。 同时提供 EJB 和Web 容器的运行时。

Application client 容器。管理客户端组件。运行在 client 上。

Applet container。管理 applets 的执行,由浏览器和 Java 插件提供运行时。

如图:

下图展示了这些技术一般应用于哪些容器组件中:

Web :

EJB 容器:

客户端:

Java EE 打包与部署

Jar 包, 适合普通的 Java 程序.

War 包, 在 Web 容器中运行.

Ear 包, 在 EE 容器中运行

java ee简介_Java EE 简介相关推荐

  1. 怎么用java ee编程_Java EE应用程序入门 - 编程入门网

    Java EE应用程序入门 时间:2011-07-06 netbeans.org 本文将详细介绍使用 EJB 3.0 技术开发企业应用程序的基础知识,而 EJB 3.0 是 Java EE 5 平台的 ...

  2. java ee编译器_Java EE 8 MVC:控制器的详细介绍

    java ee编译器 Java EE MVC是为Java EE 8计划并在JSR-371中指定的基于动作的新MVC框架. 这是我的Java EE 8 MVC教程的第二篇文章. 第一篇文章介绍了基础知识 ...

  3. java ee空指针_Java EE 7是最终版本。 思想,见解和进一步的指针。

    java ee空指针 我们花了不到三年的时间才推出了下一个Java EE版本 . 今年4月16日, JCP EC对JSR 342进行了投票并获得批准. 这是一个成功的故事,因为在去年八月下旬的最后时刻 ...

  4. java ee技术_Java EE 6与Spring Framework:技术决策过程

    java ee技术 在过去的几个月中,我们经历了这个决策过程:为Java平台上的企业开发选择哪种技术堆栈? 有多种选择. 但是,我们深入讨论的是:纯Java EE 6堆栈与带有Java EE的Spri ...

  5. java相关技术简介_java技术简介?

    java技术简介? 关注:186  答案:3  信息版本:手机版 电脑版 解决时间 2021-01-17 11:41 提问者坟地里唱嗨歌 2021-01-17 01:04 java技术简介? 最佳答案 ...

  6. java 3d 配置_Java 3D简介及安装运行

    简介 Java 3D是对Java的一个用来显示三维图形的扩展.用Java 3D编写的程序可以运行在很多不同类型的计算机或互联网上. Java 3D类库提供了比其它多数图形库更简单的接口,但仍有足够的能 ...

  7. java ee 修改_java ee 在数据库中执行增删改查

    1.先建一个主页面里面包含着添加方法 学生信息 {//1.连接数据库// 1)加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver" ...

  8. java 访问线程_java线程简介(共享对数据的访问)

    1. 共享变量 要使多个线程在一个程序中有用,它们必须有某种方法可以互相通信或共享它们的结果. 让线程共享其结果的最简单方法是使用共享变量.它们还应该使用同步来确保值从一个线程正确传播到另一个线程,以 ...

  9. java ee会话_Java EE会话技术Cookie和Session

    会话技术 一.定义 会话技术是帮助服务器记住客户端状态的(区分客户端的).将客户访问的信息存在本地的叫Cookie技术,存在服务器上的叫Session技术. 注意: 一次会话何时开始?从打开一个浏览器 ...

最新文章

  1. android 长按赋值功能,android实现WebView中长按选中复制文本操作
  2. 《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--第六章 深入理解wi-Fi Simple Configuration...
  3. serializable java 规则_Java 序列化Serializable详解(附详细例子)
  4. http://download.eclipse.org/technology/m2e/releases install error
  5. 密码学基础知识(三)古典密码
  6. 【PAT乙级】1035 插入与归并 (25 分)
  7. STM32手册中的CAN过滤器16位标识符屏蔽配置错误说明
  8. Codeforces 741 D - Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
  9. JEP 181不兼容,嵌套类/ 2
  10. ideal2018提示内存不足_基于IDEA2018卡死不动的解决方式(好用)
  11. 为什么要学习Python?怎么学?
  12. [Java] 蓝桥杯ALGO-39 算法训练 数组排序去重
  13. 解决安装软件权限不够的问题
  14. 《Excel数据处理与分析实战技巧精粹》扫描版[PDF]
  15. 一种海量矢量数据分布式渲染技术方案
  16. 闪电Android视频转换器,闪电Android视频转换器
  17. Android UI自动化工具-SoloPi
  18. NBIOT专栏之BC28与STM32F103单片机串口通信连接阿里云
  19. Linux搭建泰拉瑞亚(原版/模组/插件)服务器之1.4模组服务器
  20. app ui ios airtest +python 环境搭建

热门文章

  1. 深沪货币基金逻辑简单总结
  2. C#中,用户控件UserControl里面用Panl加载UserControl,并实现利用委托互相传值
  3. Java:实现 按概率生成随机数算法(附完整源码)
  4. QLineEdit 加省略号
  5. 浪子燕青Dburstnbsp;0.9nbsp;发布
  6. 51nod 2534 最小旅行路线------------------------------dp
  7. Tasks(任务), microtasks(微任务), queues(队列) and schedules(回调队列)
  8. 备份sybase数据库的方法
  9. 如何在本地进行微信公众号的开发和调试
  10. linux的逻辑卷和磁盘阵列,使用RAID与LVM磁盘阵列技术