Java EE Web Profile与Java EE完整平台

时间:2014-06-16 09:01:22

标签: java-ee java-ee-web-profile

Java EE Web Profile 认证服务器(如JOnAS)和 Java EE Full Platform 认证服务器(如JBoss AS)之间有什么区别?

3 个答案:

答案 0 :(得分:76)

这是一个很好的图像解释它。 Web配置文件是Java EE的一个子集,其目的是允许开发人员创建更轻量级的应用程序,这些应用程序可以在简单的servlet容器(如Tomcat或Jetty)中使用。

enter image description here

答案 1 :(得分:34)

未来

2017年底,Oracle向Java EE负责Eclipse Foundation。 Java EE 8之后的未来版本将被称为Eclipse Enterprise For Java (EE4J)。或者 Project EE4J 。或者 EE.next 。或Jakarta EE。最近几个月,品牌一直在变化。

作为从Oracle过渡的一部分,Eclipse团队将使用他们的新基础设施重新发布Java EE 8作为 Jakarta EE 8 ,以便进行住房代码和构建。相同的EE行为,相同的内部命名和包结构。因此,下面讨论的关于Java EE Web Profile与Java EE Full Platform的问题仍将适用。

然而,带来新功能的下一个版本(Jakarta EE 9)可能需要新的命名包,并可能需要命名构成EE的各种API。因此,即使您可能期望行为具有向上兼容性,命名更改也将意味着版本9及更高版本将作为插入式二进制替换。不是世界末日。这可能意味着您更改各种类文件中的import包名称。有关详细信息和链接,请阅读thisthis

此外,Eclipse团队和Jakarta EE社区可以自由地重新定义或重新组织EE的各个部分。因此,下面的Java EE Web Profile与Java EE Full Platform讨论可能不会直接应用于Jakarta EE 9及更高版本。

另一个注意事项如果您使用更新的基于EE的Java SE版本...在Java SE 11中,一些模块被删除。 Java EE相关部分正在迁移到Jakarta EE项目的新家。其他诸如CORBA已被任何感兴趣的组织提供采用。请参阅JEP 320

Java EE 8

Java EE 8已于2017年发布。请参阅history of versions

有关详细信息,请参阅JSR 366: Java Platform, Enterprise Edition 8 (Java EE 8) Specification

Java EE是Java Standard Edition (Java SE)的超集。任何Java EE 8实现也是Java SE 8或更高版本的实现。

查看Oracle发布的list of Java EE 8 technologies,其中包含指向JSR和规范的链接。

所有个人资料

所有Java EE配置文件中都需要具备以下技术:

  

Java SE版本8 (or later)

     

•Common定义的资源和组件生命周期注释   注释规范(Resource,Resources,PostConstruct,PreDestroy)

     

JNDI“java:”命名上下文

     

•Java Transaction API(JTA)

网络个人资料

Web Profile是完整Java EE平台的特定子集,专注于常用元素。由Apache TomEE或近似Eclipse Jetty plus add-ons等产品实施。

  

•所有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绑定的Java API(JSON-B)1.0(JSR 367

     

•Java平台的通用注释(JSR-250)1.3•Enterprise JavaBeans(EJB)3.2 Lite

     

•Java Transaction API(JTA)1.2

     

•Java Persistence API(JPA)2.2

     

Bean Validation 2.0(JSR 380

     

•Managed Beans 1.0

     

•拦截器1.2

     

•Java EE Platform 2.0的上下文和依赖注入

     

•Java 1.0的依赖注入

     

•Java EE Security API 1.0

     

•容器的Java身份验证服务提供程序接口(JASPIC)1.1

Servlet的仅

作为使用Web Profile实现的更轻松的替代方法,您可以从Java Servlet / JSP实现开始,例如Apache TomcatEclipse Jetty。虽然不是官方的简介,但这种方法非常受欢迎。有时称为web container

  

HTTP web server

     

•Servlet

     

•JavaServer Pages(JSP)

     

•表达语言(EL)

     

WebSocket

     

•JNDI

使用此设置时,您可以有选择地添加独立库,以便从各种Java EE技术中有选择地受益。例如,对于我自己使用Vaadin Framework构建Web应用程序的工作,我使用Java SE而不是EE,使用Tomcat,并手动添加Bean Validation实现库,因为这就是我需要的来自Java EE技术列表。

完整Java EE

需要以下技术:

  

•Web个人资料中的所有项目

     

•EJB 3.2(EJB实体bean和关联的EJBQL除外,它们都是可选的)

     

•JMS 2.0

     

•JavaMail 1.6

     

•连接器1.7

     

•WebServices 1.4

     

•并发实用程序1.0

     

•Batch1.0

     

•Java EE Management 1.1

     

•JACC 1.5

     

•JSP调试1.0

     

•Web Services Metadata 2.1

以下技术是可选的:

  

•EJB 3.2及更早版本的实体bean和关联的EJB QL

     

•JAX-RPC 1.1

     

•JAXR 1.0

     

•Java EE Deployment 1.2

这是一个显示嵌套需求组的图表。

diagram of nested groups of various technologies required by Java SE 8, web containers, Java EE 8 Web Profile, Java EE 8 Required, and Java EE 8 Optional

此图表上方的列表可能更准确;此图表未经过双重检查。

答案 2 :(得分:5)

Java EE 6 specification(JSR 316)包含以下列表:

完整的Java EE产品要求

  

需要以下技术:

     
      
  • EJB 3.1
  •   
  • Servlet 3.0
  •   
  • JSP 2.2
  •   
  • EL 2.2
  •   
  • JMS 1.1
  •   
  • JTA 1.1
  •   
  • JavaMail 1.4
  •   
  • 连接器1.6
  •   
  • Web Services 1.3
  •   
  • JAX-RPC 1.1
  •   
  • JAX-WS 2.2
  •   
  • JAX-RS 1.1
  •   
  • JAXB 2.2
  •   
  • JAXR 1.0
  •   
  • Java EE Management 1.1
  •   
  • Java EE Deployment 1.2
  •   
  • JACC 1.4
  •   
  • JASPIC 1.0
  •   
  • JSP调试1.0
  •   
  • JSTL 1.2
  •   
  • Web Services Metadata 2.1
  •   
  • JSF 2.0
  •   
  • Common Annotations 1.1
  •   
  • Java Persistence 2.0
  •   
  • Bean Validation 1.0
  •   
  • Managed Beans 1.0
  •   
  • Java EE 1.0的上下文和依赖注入
  •   
  • Java 1.0的依赖注入
  •   
     

没有可选技术。

Web个人资料定义

  

以下技术是Web配置文件的必需组件:

     
      
  • Servlet 3.0
  •   
  • JavaServer Pages(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
  •   
  • Enterprise JavaBeans(EJB)3.1 Lite
  •   
  • Java Transaction API(JTA)1.1
  •   
  • Java Persistence API(JPA)2.0
  •   
  • Bean Validation 1.0
  •   
  • Managed Beans 1.0
  •   
  • 拦截器1.1
  •   
  • Java EE Platform 1.0的上下文和依赖注入
  •   
  • Java 1.06的依赖注入
  •   
     

Web配置文件中没有可选组件。

对于Java EE 7,所有EE技术都有list,还显示了Web配置文件中包含的内容。以前仅在完整配置文件中可用的某些技术现在包含在Web配置文件中,例如JAX-RS。