Java EE Web Profile认证服务器(如JOnAS)和Java EE Full Platform认证服务器(如JBoss AS)有什么区别?
Answers:
这是解释它的好图像。Web概要文件是Java EE的子集,其目的是允许开发人员创建更轻量的应用程序,这些应用程序可在简单的servlet容器(例如Tomcat或Jetty)中使用。
在2017年末,Oracle将Java EE的责任交给了Eclipse Foundation。Java EE 8之后的将来版本将称为Eclipse Enterprise for Java(EE4J)。或Project EE4J。也许是EE.next。或Jakarta EE。品牌一直在变化。
Eclipse团队和Jakarta EE社区可以自由地重新定义或重新组织EE的各个部分。因此,下面的Java EE Web Profile与Java EE Full Platform讨论可能不适用于Jakarta EE 9和更高版本。
在Java SE 11中,某些模块已删除。与Java EE相关的部分正在迁移到Jakarta EE项目的新家。其他诸如CORBA的产品也已被任何感兴趣的组织采用。参见JEP 320。
截至2020-06年, Jakarta EE Platform 9正在开发中。
重点是从各种规范中删除商标的Java名称。这包括移动到新的程序包名称jakarta.*
。
引用“ Jakarta EE 9发布计划”页面:
Jakarta EE 9发行版的目标是在功能上与Jakarta EE 8相似,但在新的Jakarta EE 9名称空间中提供一组规范
jakarta.*
。此外,Jakarta EE 9发行版从Jakarta EE 8中删除了旧的,可选的或已弃用的规范,以减少API的表面积,以确保新供应商更容易进入生态系统-并减少这些旧API的实施,迁移和维护负担。
项目团队主要将Jakarta EE 9视为工具版本…
即使您可能会期望行为上具有向上兼容性,但命名更改将意味着版本9和更高版本将不是嵌入式二进制替换。不是世界末日。这可能意味着只需要更改import
各种类文件中的包名称即可。阅读这和这个有关详细信息和链接。
Jakarta EE Platform 8实际上与Java EE 8。
作为从Oracle过渡的一部分,Eclipse团队将Java EE 8重新发布为Jakarta EE 8。使用其用于存储代码和进行构建的新基础结构,将。相同的EE行为,相同的内部命名和程序包结构。因此,下面讨论的有关Java EE Web Profile和Java EE Full Platform的问题仍然适用。
请参见JSR 366:Java平台企业版8(Java EE 8)规范。
Java EE是Java Standard Edition(Java SE)的超集。任何Java EE 8实现也是Java SE 8或更高版本的实现。
查看Java EE 8技术列表Oracle发布,以及指向JSR和规范的链接。
所有Java EE概要文件中都必须包含以下技术:
•由公共注释规范(资源,资源,PostConstruct,PreDestroy)定义的资源和组件生命周期注释
• JNDI “ java:”命名上下文
•Java事务API(JTA)
该网站资料是完整的Java EE平台的特定子集,侧重于常用的元素。由诸如Apache TomEE之类的产品实现,或者由Eclipse Jetty plus附加组件实现。
•所有Java EE概要文件所必需的基础级项目(上面列出:Java SE 8,生命周期注释,JNDI
java:
上下文和JTA)•Servlet 4.0(JSR 369)
•JavaServer Pages(JSP)2.3
•表达式语言(EL)3.0(JSR 341)
•其他语言的调试支持(JSR-45)1.0
•JavaServer Pages(JSTL)1.2的标准标记库
•JavaServer Faces(JSF)2.3(JSR 372)
•RESTful Web服务的Java API(JAX-RS)2.1
•用于WebSocket的Java API(WebSocket)1.1(JSR 356)
•用于JSON处理的Java API(JSON-P)1.1(JSR 374)
•JSON绑定(JSON-B)1.0(JSR 367)的Java API
•Java平台(JSR-250)1.3的通用注释•Enterprise JavaBeans(EJB)3.2 Lite
•Java事务API(JTA)1.2
•Java持久性API(JPA)2.2
•托管豆1.0
•拦截器1.2
•Java EE平台2.0的上下文和依赖注入
•Java 1.0的依赖注入
•Java EE安全性API 1.0
•容器Java身份验证服务提供程序接口(JASPIC)1.1
作为使用Web Profile实现的更轻松的选择,您可以从Java Servlet / JSP实现开始,例如Apache Tomcat或Eclipse Jetty。尽管这种方法不是官方的,但它非常流行。有时称为网络容器。
•Servlet
•JavaServer页面(JSP)
•表达语言(EL)
•JNDI
使用此设置时,可以有选择地添加独立的库,以有选择地受益于各种Java EE技术。例如,对于我自己使用Vaadin Framework构建Web应用程序的工作,我将Java SE而不是EE与Tomcat一起使用,并添加Bean验证手动实现库,因为这是我从Java EE技术列表中所需的全部。
需要以下技术:
•Web配置文件中的所有项目
•EJB 3.2(EJB实体Bean和关联的EJBQL除外,它们已变为可选)
•JMS 2.0
•JavaMail 1.6
•连接器1.7
•Web服务1.4
•并发实用工具1.0
•Batch1.0
•Java EE管理1.1
•JACC 1.5
•JSP调试1.0
•Web服务元数据2.1
以下技术是可选的:
•EJB 3.2和更早的实体Bean及其关联的EJB QL
•JAX-RPC 1.1
•JAXR 1.0
•Java EE部署1.2
这是显示嵌套需求组的图。
此图上方的列表可能更准确;此图尚未经过仔细检查。
在Java EE 6规范(JSR 316)包含以下列表:
需要以下技术:
- EJB 3.1
- Servlet 3.0
- JSP 2.2
- EL 2.2
- JMS 1.1
- JTA 1.1
- JavaMail 1.4
- 连接器1.6
- 网络服务1.3
- JAX-RPC 1.1
- JAX-WS 2.2
- JAX-RS 1.1
- JAXB 2.2
- JAXR 1.0
- Java EE管理1.1
- Java EE部署1.2
- JACC 1.4
- JASPIC 1.0
- JSP调试1.0
- JSTL 1.2
- Web服务元数据2.1
- JSF 2.0
- 通用注释1.1
- Java持久性2.0
- Bean验证1.0
- 托管豆1.0
- Java EE 1.0的上下文和依赖注入
- Java 1.0的依赖注入
没有可选技术。
以下技术是Web配置文件的必需组件:
- Servlet 3.0
- JavaServer页面(JSP)2.2
- 表达语言(EL)2.2
- 其他语言的调试支持(JSR-45)1.0
- JavaServer Pages(JSTL)1.2的标准标记库
- JavaServer Faces(JSF)2.0
- Java平台(JSR-250)1.1的通用注释
- 企业JavaBeans(EJB)3.1 Lite
- Java Transaction API(JTA)1.1
- Java持久性API(JPA)2.0
- Bean验证1.0
- 托管豆1.0
- 拦截器1.1
- Java EE平台1.0的上下文和依赖注入
- Java 1.06的依赖注入
Web配置文件中没有可选组件。
对于Java EE 7,存在所有EE技术的列表,还显示了Web Profile中包含的技术。Web Profile中包括了以前仅在Full Profile中才可用的某些技术,例如JAX-RS。