这篇文章旨在澄清J2EE范例中使用的首字母缩写词和概念。 J2EE代表Java to Platform,Entreprise Edition。 它使创建模块化Java应用程序成为可能,并将其部署在应用程序服务器上。 它依赖于Java SE,Java SE是一组Java库的核心,所有Java应用程序都在该Java库上实现。

一般概念

在深入探讨J2EE之前,这里提醒您一些一般概念:

  • 多层应用程序 –多层应用程序(或多层体系结构)是分为多个逻辑部分的应用程序,这些逻辑部分(通常)在多台服务器上实现。 例如,具有用户及其浏览器,应用程序服务器和位于单独服务器上的数据库的3层模型处理应用程序服务器请求。
  • 多层服务 –考虑3层模型中的服务时,应用程序服务器是提供对用户请求的响应的服务。 数据库服务器提供对应用程序服务器查询的答案。
  • Java Bean –这些Java类包含私有属性,可使用getter和setter方法进行访问。 从技术上讲,这些类还必须具有无参数构造函数并实现Serializable接口。

J2EE 5概念

J2EE多层应用程序(来自J2EE教程)

  • Java EE应用程序模型 –此模型描述了实现服务的多层体系结构。 定义服务定义的边界并没有明确定义。 实际上,服务是一个逻辑概念,其具体/实际对应项取决于实现这些概念的应用程序。 例如,它是客户机/服务器模型中的服务器。
  • Java EE Server –它是J2EE范例中的3层范例的应用服务器。 它由Web层(服务JSP页面)和业务层(管理企业Java Bean)组成。
  • Java EE组件 –“组件”是指与其他组件结合使用以构建应用程序的独立软件单元。
    • Web组件 –生成页面或返回给用户查询的内容的Web层的一部分。 通常,这些是Java Servlet,JavaServer Faces和Java Server Pages。
    • Applet –作为对用户请求的响应的一部分发送的小型Java软件应用程序,旨在在用户的浏览器中运行。 小程序与Javascript竞争。
    • 应用程序客户端 –例如,用Java编写的桌面应用程序。
    • 企业Java Bean –参见下文。
  • Java EE客户端 –此概念重组了其他三个概念:
    • Web客户端(或瘦客户端) –在过去(不是这样),返回客户端请求的网页通常包含在将结果返回给客户端之前在应用程序服务器上执行的代码脚本。 这些页面被视为EE客户。 例如,可以查询雇员列表并根据查询的用户显示不同的结果。 今天,大多数开发人员不再在其网页中包含脚本。 这被认为是不好的做法。 他们倾向于使用MVC设计原则,该原则禁止这些页面中的脚本。
    • 小程序
    • 应用客户端
  • Java EE服务器通信 –这是指瘦客户机与应用程序客户机与应用程序服务器之间发生的通信。 通常,瘦客户端和小程序与Web层通信,而应用程序客户端与EJB通信。
  • 您也不太清楚吗? 您认为这很麻烦? 欢迎来到俱乐部! 这就是为什么REST原则以及MVC设计原则在当今Web应用程序开发中盛行的原因。

  • EJB(企业Java Bean) –这是一个逻辑概念,与传统Java Bean没有任何关系。 它基本上试图将业务逻辑封装在多层应用程序的后端(即服务器端)上。 它最初试图解决的一个关键问题是数据库的事务完整性。 警告:已经有多个版本的EJB,而版本3.0与先前的版本明显不同。
  • JavaBean组件 –它是Java Bean的同义词,主要用于JSP范例中。
  • Java EE容器 –此处是组装Java EE组件的部署位置(即,在应用程序服务器上)。 其中一个定义了包含servlt和JSP页面的Web容器,以及包含Entreprise Java Bean的EJB容器。 还定义了用于独立应用程序的应用程序客户端容器和浏览器中的applet容器。
  • 部署描述符 –这是一个XML文件,提供打包应用程序的部署信息。 有关更多信息,请参见此处 。
  • SOAP(简单对象访问协议) –它是一种在Web上提供的服务之间交换消息的协议。 消息是根据XML构造的,可以通过许多传输层(最常见的是HTTP)进行交换。 SOAP与JSON和类似REST的服务竞争。
  • WSLD(Web服务描述语言) –它使用XML文档(名称,位置,通信模式)描述网络服务。
  • UDDI(通用描述,发现和集成)ebXML –用于在线发布有关产品和服务的信息。
  • Java Servlet – Servlet是一个Java类,用于处理传入的用户HTTP请求并返回结果。
  • JSP(JavaServer页面) –经过处理以生成静态内容的基于文本HTML文档(即一种模板)。 它可以包含脚本代码段,这些代码段被执行以呈现最终的静态文档。
  • JSTL(JavaServer页面标准标记库) – JSP中用于模仿脚本代码功能的一组标准标记。 例如,遍历客户端列表以显示其相应信息。 如今,此类标记已取代了JSP中的脚本代码。 它们通常用于生成用信息填充页面以显示给用户。
  • JSF(Java Server Face) –这些是JavaServer Page,其中包含JavaServer Face标记(与JSTL标记相似)。 另外,JSF允许定义页面之间的导航模型(类似于Spring Web流)。 它还包括Facelets。
  • Facelets – Facelets是JSF的MVC视图部分。 它基本上使用提供的数据(例如,带有客户端列表)将模板转换为HTML文档。 它还可以提取部分生成的文档(例如HTML正文),并将其包含在另一个模板中。 这等效于Sitemesh所做的事情。
  • 基于XML的Web服务的Java API(JAX-WS) –一种使用XML通信定义Web服务的方法。
  • 用于XML绑定的Java API(JAXB) –一种将Java Bean来回转换(通常)为XML文档的方法。 有关更多详细信息,请参见此处 。
  • JTA(Java事务API) –意味着通过自动提交和回滚来分隔数据库事务。
  • JMS(Java消息服务) –一种API,允许通过Internet在应用程序和服务之间可靠且异步地交换消息。 ActiveMQ实现JMS。
  • JavaMail API –一种从应用程序发送电子邮件的方法。
  • JAXP(用于XML处理的Java API) –启用XML文档的处理。
  • JAXR(用于XML注册表的Java API) –一种API,允许访问包含元数据的注册表。 它基于XML。
  • JDBC(Java数据库连接性) –该API使应用程序可以直接与数据库执行SQL事务。
  • JCA(Java EE连接器体系结构) –它帮助应用程序获得与信息系统(通常是数据库)的连接。 有关更多详细信息,请参见这篇文章 。
  • JPA(Java持久性API) –这是一个ORM(对象/关系映射)定义,用于帮助将对象存储在数据库中。 有关示例,请参见此处 。
  • JNDI(Java命名和目录接口) –一种存储和检索资源或使用其名称访问资源的方法。 有关更多详细信息,请参见这篇文章 。
  • JAAS(Java身份验证和授权服务) –身份验证和控制对服务的访问的手段。

J2EE 6附加概念

使用J2EE 6,可以使用Java源代码中的注释执行许多配置。

  • JAX-RS –定义类似REST服务的API。
  • 托管Bean –可以执行注入的Java对象。 在Spring中,这些对象将是带有@Autowired注释的属性的对象(例如)。
  • CDI(上下文和依赖注入) -实现和执行依赖注入的机制。 在Spring中,将提到应用程序上下文,控制反转(IoC)和依赖项注入(DI)。
  • Bean验证 –一种根据预定义规则确保Java Bean状态有效的方法。
  • JACC(容器的Java授权合同) –指定EE容器与授权提供者之间的关系和事务。
  • JASPIC(Java身份验证服务提供者接口) –这是JACC的补充身份验证SPI(即服务API)。 它定义了应用程序如何访问传统的身份验证服务。

总体而言,Spring和J2EE朝着同一方向缓慢收敛。

参考: 技术说明博客上的JCG合作伙伴 Jerome Versrynge 对JavaEE概念的介绍 。

翻译自: https://www.javacodegeeks.com/2013/02/introduction-to-javaee-concepts.html

JavaEE概念简介相关推荐

  1. javaee和javaee_JavaEE概念简介

    javaee和javaee 这篇文章旨在阐明J2EE范例中使用的首字母缩写词和概念. J2EE代表Java to Platform,Entreprise Edition. 它使创建模块化Java应用程 ...

  2. 进程控制概念简介 多线程上篇(三)

    进程控制 进程的基本数据信息是操作系统控制管理进程的数据集合,这些信息就是用来控制进程的,此处我们说的进程控制就是进程的管理. 比如进程有状态,那么进程的创建.终止,状态的切换,这都不是进程自主进行的 ...

  3. 【设计模式】原型模式 ( 概念简介 | 使用场景 | 优缺点 | 基本用法 )

    文章目录 I . 原型模式 概念简介 II . 原型模式 使用场景 III . 原型模式 优缺点 IV . 原型模式 实现及 简单示例 I . 原型模式 概念简介 原型模式 : 用原型实例指定创建对象 ...

  4. 项目背景介绍及文件系统基本概念简介

    文章目录 1 项目背景介绍 2 文件系统基本概念简介 2.1 文件系统接口 2.2 存储的基本单位 2.3 文件存储单位 2.4 文件结构 3 海量存储选用大文件结构的原因 1 项目背景介绍 根据淘宝 ...

  5. OS操作系统概念简介

    操作系统 操作系统是一种程序:控制应用程序执行的程序 操作系统是一种接口:应用程序和计算机硬件间的接口 操作系统就是让普通人也会用电脑的软件(为了方便),就是把整个电脑资源包装起来的一个图形界面(为了 ...

  6. java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)

    java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一) 目前对于同步,仅仅介绍了一个关键字synchronized,可以用于保证线程同步的原子性.可见性.有序性 对于synchronize ...

  7. 1-2 李宏毅2021春季机器学习教程-第一节(下)-深度学习基本概念简介

    上篇文章1-1 李宏毅2021春季机器学习教程-第一节(上)-机器学习基本概念简介介绍了回归的一些知识,重点介绍了机器学习寻找函式的三个步骤.接着我们继续学习第一节Introduction的内容. 目 ...

  8. 计算机动画基本概念,计算机三维动画基本概念简介

    简单介绍三维计算机动画技术的原理和实现,对里面的几项关键部分的概念进行阐述说明. 2 1 0 0年 9月 第 9期 (第 1 2期 )总 4 广西轻工业 G A G IOR A F IH D SR 计 ...

  9. 【CEGUI】概念简介

    CEGUI 概念简介 背景 Crazy Eddie's GUI(MIT License),一款开源的GUI(图形用户界面)库.使用C++实现,遵循OOP,其宗旨: games developers w ...

最新文章

  1. 技术18期:数据安全之加密与实现
  2. 【机器学习入门到精通系列】蒙特卡罗方法简介和代码演示
  3. 拼接字符串 新增数据方法
  4. LeetCode 1727. 重新排列后的最大子矩阵(前缀和+排序)
  5. mysql 删除hash分区_MySQL-如何删除hash表分区
  6. Form验证之简单应用
  7. [Spark]-结构化数据查询之自定义UDAF
  8. python编程练习-完美数
  9. 计算机性能测评实验原理,实验一 计算机性能测试.pdf
  10. 使用Arduino,DHT11和IR Blaster的自动交流温度控制器
  11. 微软笔记本服务器怎么重装系统,微软Surface Book重装win10系统教程
  12. vue.js毕业设计,基于vue.js前后端分离电影院售票小程序系统设计与实现
  13. 从菜鸟到架构师(六)
  14. 设置Cookie的生命周期
  15. Tomcat漏洞ip:port/manager/html
  16. 使用 Windows XP 的外观风格
  17. linux脚本第一行是什么,完全搞懂shell脚本第一行:#!/bin/bash的含义
  18. 笔记本_cpu_突然性能下降_cpu锁频_cpu降频_重装无用_解锁办法
  19. 传统车企进军区块链,汽车行业或将迎来创新机遇 | 产业区块链发展周报
  20. 使用element中时间选择器和日期选择器报错Avoid mutating a prop directly since the value will be overwritte

热门文章

  1. 转: 虚拟IP(VIP)原理
  2. dmn是大脑中哪个区域_DMN中的函数式编程:感觉就像再次重读我的大学课程一样...
  3. 构建maven项目插件_如何构建一个Maven插件
  4. java中的可检查和不检查_检查Java测试中发生了什么
  5. 设计模式示例_状态设计模式示例
  6. java 打开gc日志_在运行时打开GC日志记录
  7. rest服务swagger_在Java EE 7上骑骆驼–带有Swagger文档的REST服务
  8. facelets_不要在facelets中重复表情
  9. java数字格式化_Java数字格式
  10. -javaagent:_从javaagent迁移到JVMTI:我们的经验