Java EE:基础知识

想要了解一些基本原则,即与Java EE相关的技术术语。 对于许多人来说,Java EE / J2EE仍然最多意味着Servlet,JSP或Struts。 没有冒犯或双关语!

无论如何,这不是Java EE的“圣经”。 我没有能力写这样的东西! 因此,让我们排列与Java EE相关的“关键字”,然后逐一查看它们

  • Java EE
  • Java EE API(规范)
  • 货柜
  • 服务
  • 多层应用
  • 组件

让我们尝试详细说明上述几点。

那么什么是Java EE?

“ EE”代表企业版。 这实质上就是Java EE – Java Enterprise Edition。 如果我不得不用几句话来总结Java EE,它将是这样的

“ Java EE是一个平台,它定义了“标准规范/ API”,然后由供应商实施并用于开发企业(分布式,“多层”,健壮的)“应用程序”。 这些应用程序由使用Java EE“容器”作为运行时基础结构的模块或“组件”组成。”

它是什么构成的?

  • 该平台围绕“标准”规范或API展开
  • 可以将它们视为由标准机构定义的合同,例如企业Java Bean(EJB),Java Persistence API(JPA),Java Message Service(JMS)等。
  • 这些合同/规范/ API 由不同的供应商实施,例如GlassFish,Oracle Weblogic,Apache TomEE等

容器呢?

  • 容器可以可视化为“虚拟/逻辑分区”
  • 每个容器都支持Java EE平台定义的API /规范的子集
  • 他们向其托管的“应用程序”提供运行时“服务”

Java EE规范列出了4种容器

  • EJB容器
  • 网络容器
  • 应用程序客户端容器
  • 小程序容器

Java EE容器

货柜

在这篇文章中,我将不涉及这些容器的细节。

服务??

  • 嗯, “服务”不过是标准“规范”的供应商实施的结果(如上所述)。 规格示例包括–用于JAX-RS的Jersey (RESTFul服务), Tyrus (Web套接字), EclipseLink (JPA), Weld (CDI)等。  
  • “容器”是已部署的应用程序(“服务”使用者)和应用程序服务器之间的接口。

这是“容器”提供给基础“组件”的“服务”列表(这不是详尽的列表)

  • 持久性 –由Java持久性API(JPA)提供,它驱动对象关系映射(ORM)和数据库操作的抽象。
  • 消息传递 – Java消息服务(JMS)在应用程序的不同部分之间提供异步消息传递。
  • 上下文和依赖注入 – CDI提供松散耦合和类型安全的资源注入。
  • Web服务 – JAXRS和JAXWS分别提供对REST和SOAP样式服务的支持
  • 事务 –由Java事务API(JTA)实现提供

它由什么组成?

应用程序由不同的“ 组件 ”组成,这些组件又由其相应的“ 容器 ”支持

支持的“组件”类型为:

  • 企业应用程序 –利用EJB,JMS,JPA等规范,并在EJB容器内执行
  • Web应用程序 –它们利用Servlet API,JSP,JSF等,并由Web容器支持
  • 应用程序客户端 –在客户端执行。 他们需要一个应用程序客户端容器,该容器具有一组受支持的库并在Java SE环境中执行。
  • 小程序 –这些是在Web浏览器中执行的GUI应用程序。

Java EE应用程序的结构如何?

就Java EE“应用程序”体系结构而言,它们通常遵循n层模型,该模型由客户端层,服务器层以及数据库(后端)层组成

  • 客户端层 –包含基于Web浏览器或基于GUI(Swing,Java FX)的客户端。 当GUI客户端直接与服务器层中的“业务”层进行交互时,Web浏览器倾向于与服务器层中的“ Web组件”对话。
  • 服务器层 –该层由动态Web组件 (JSP,JSF,Servlet)和由EJB,JMS,JPA,JTA规范驱动的业务层组成
  • 数据库层 –包含由数据库甚至传统数据存储库支持的“企业信息系统”。

通用的3层Java EE应用程序体系结构

概述多层应用程序

Java EE –基本知识...。 尽可能快,简短地完成。 目前为止就这样了!

请继续关注更多Java EE内容,尤其是有关最新和最佳版本的Java EE平台–> Java EE 7

您可能想先阅读一下有关Java EE 7的介绍性文章

祝您阅读愉快!

翻译自: https://www.javacodegeeks.com/2014/03/java-ee-the-basics.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义鼠标样式

效果图展示&#xff1a; 代码 &#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv&q…

空军军医大学计算机复试线,空军军医大学2019年考研复试分数线

2019考研国家线公布之后&#xff0c;各招生院校会于3月中下旬陆续公布分数线&#xff0c;大家需要密切关注。空军军医大学2019年考研复试分数线已经公布&#xff0c;大家赶紧看一下及时准备复试和调剂吧!广大考生&#xff1a;我校2019年硕士研究生第一志愿复试工作拟于近期启动…

微信小程序开发POST请求

微信小程序开发POST请求 wx.request( { url: "http://op.juhe.cn/onebox/weather/query", header: { "Content-Type": "application/x-www-form-urlencoded" }, method: "POST", //data: { cityname: "上海", key: &…

C#入门代码

一、从控制台读取东西代码片断&#xff1a;using System;class TestReadConsole{public static void Main(){Console.Write(Enter your name:);string strName Console.ReadLine();Console.WriteLine( Hi strName);}}二、读文件代码片断&#xff1a;using System; using Syst…

amoeba mysql proxy_mysql proxy amoeba安装配置

MySQL想要做读写分离&#xff0c;目前可以有三种解决方式&#xff1a;1 程序修改mysql操作类优点&#xff1a;直接和数据库通信&#xff0c;简单快捷的读写分离和随机的方式实现的负载均衡&#xff0c;权限独立分配缺点&#xff1a;自己维护更新&#xff0c;增减服务器在代码处…

Java数组,Wat!

数组可以做一些令人惊讶的事情。 是否是数组&#xff1f; Serializable array new Serializable[9];数组是数组还是标量&#xff1f; 好吧&#xff0c;它是指向数组的标量。 就像 Object o new Object[9];您可以将数组分配给对象&#xff0c;因为它也是对象。 但是&#xf…

6.11python 作业

1.课堂例子: 01初识python #!/usr/bin/env python # -*- coding: utf-8 -*-# print(hello world!)print(hello world!) name lyj print(name)# id,type,value x 10 y 10 python小计数池(python优化机制):在变量值产生后指定的范围内&#xff0c;在内存中事先开辟一块内存空间…

linux下常用命令

创建软连接&#xff1a;ln -s b a //为b创建一个快捷方式a&#xff0c;只是一个镜像&#xff0c;不占用空间。 ln -sf b a //差不多 &#xff0c;-f强制执行 ln b a //创建硬链接&#xff0c;会占用相同的大小空间&#xff08;不允许给目录创建硬链接&#xff09; svn…

vue.extend与vue.component的区别和联系

一味的闷头开发&#xff0c;却对基础概念缺乏理解&#xff0c;是个大坑... 查阅官网后现对自己的理解记录一下&#xff0c;用于日后复习巩固 Vue.extend({}) 简述&#xff1a;使用vue.extend返回一个子类构造函数&#xff0c;也就是预设部分选项的vue实例构造器。 后可使用vu…

2012服务器系统关闭网络共享,提供网络服务的前提,Windows Server 2012如何更改高级共享设置...

今天介绍系统提供网络服务的前提&#xff0c;Windows Server 2012 R2操作系统如何更改高级共享设置。小伙伴们可能都听说&#xff0c;网络配置是提供各种网络服务的前提。Windows Server 2012 R2操作系统安装完成以后&#xff0c;默认为自动获取IP地址&#xff0c;自动从网络中…

[学习笔记]几个英语短句(1)

Mind (you)!<口语>听着&#xff01;Mind , I dont say that it is certain.mind your back<口语>让开&#xff0c;让我通过。Mind your own business.你别管闲事。This is not your business.within an inch of 差点儿&#xff0c;险些&#xff01;The athlete was…

qt往mysql中添加数据_qt往数据库添加数据

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别

很长一段时间以来&#xff0c;WeakReference和SoftReference都已添加到Java API中&#xff0c;但是并不是每个Java程序员都熟悉它。 这意味着在Java中使用WeakReference和SoftReference的位置和方法之间存在差距。 参考类对于垃圾收集的工作方式尤其重要。 众所周知&#xff0c…

Elasticsearch 深入3

分词器的内部组成到底是什么&#xff0c;以及内置分词器的介绍 1、什么是分词器 切分词语&#xff0c;normalization&#xff08;提升recall召回率&#xff09; 给你一段句子&#xff0c;然后将这段句子拆分成一个一个的单个的单词&#xff0c;同时对每个单词进行normalization…

[WC2014]时空穿梭(莫比乌斯反演)

https://www.cnblogs.com/CQzhangyu/p/7891363.html 不难推到$\sum\limits_{D1}^{m_1}\sum\limits_{d|D}C_{d-1}^{c-2}\mu(\frac D d)\prod\limits_{i1}^n\frac {(2m_i-({\lfloor \frac {m_i} {D} \rfloor}1)\times D){\lfloor \frac {m_i} {D} \rfloor}}{2}$。 $O(Tnm)$&#…

css设置字符长度,在css中设置最大字符长度

12 个答案:答案 0 :(得分&#xff1a;199)你总是可以通过设置max-width和溢出ellipsis来使用截断方法p {white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 200px;}对于多行截断&#xff0c;请查看flex解决方案。截断3行的示例。p {overflow: hidden;d…

一些sql 语句(行列转换等)

1. 行列转换--普通假设有张学生成绩表(CJ)如下Name Subject Result张三 语文 80张三 数学 90张三 物理 85李四 语文 85李四 数学 92李四 物理 82想变成 姓名 语文 数学 物理张三 80 90 85李四 85 92 82declare sql varchar(4000)set sql select Nameselect sql sql ,sum(cas…

关于html以及js相关格式验证的记录

验证的常见方式 我们在写前端的时候或多或少的会遇到一些验证格式问题&#xff0c;通常我们有三种解决办法。 第一种就是在输入完成后在输入框附近验证给出提示第二种就是在输入完成后在提交的时候排着验证提示第三张就是限制输入 前面两种我们都是非常的熟悉以及想到的&…

mysql重做日志_MySQL-重做日志 redo log -原理

【redo log buffer】【redo log file】-原理目录&#xff1a;1.重做日志写入过程图2.相关知识点汇总图3.redo_log_buffer 原理4.redo_log_file 原理1. 重做日志写入过程&#xff1a;2. 相关知识点汇总&#xff1a;3. redo log buffer 原理重做日志缓冲(redo log buffer)是Innod…

Java 8 Friday:使用Streams API时的10个细微错误

在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 Java 8星期五 每个星期五&#xff0c;我们都会向您展示一些不错的教程风格的Java 8新功能&#…