2025-01-19 08:00:04

什么是Java EE?

我意识到它字面上翻译为Java企业版。但我想问的是,这到底意味着什么?当公司要求有Java EE经验时,他们真正要求的是什么?有ejb经验吗?有使用Java web应用程序的经验?

我怀疑这对不同的人意味着不同的东西,这个定义是主观的。


当前回答

是的,有EJB、Web应用程序(servlet和JSP)、事务、Web服务、管理和应用服务器的经验。

它还意味着使用“企业级”应用程序的经验,而不是桌面应用程序。

在许多情况下,企业应用程序需要连接到许多遗留系统,它们不仅仅是“web页面”,通过java“版本”上可用的特性,这种连接可以解决。

其他回答

我想说J2EE经验=对一些J2EE技术有深入的经验,对大多数J2EE技术有一般的知识,对企业软件有一般的经验。

EE,严格地说,是一组api(就像目前最热门的答案),它使程序员能够构建分布式的事务性系统。其思想是抽象出复杂的分布式事务部分(将由WebSphere或Weblogic等容器实现),让程序员开发业务逻辑而不用担心存储机制和同步。

实际上,它是一个由委员会设计的大杂烩,主要是为了IBM、甲骨文(Oracle)和BEA等供应商的利益而推动的,这样他们就可以销售过分复杂、过度设计、过度无用的产品。它没有最基本的功能(比如调度)!

J2EE是一种营销结构。

Java EE是用于开发和部署企业应用程序的规范的集合。

一般来说,企业应用程序是指托管在服务器上的软件,这些服务器提供支持企业的应用程序。

规范(由Sun定义)描述了服务、应用程序编程接口(api)和协议。

组成Java EE的13个核心技术是:

JDBC JNDI ejb RMI JSP Java servlet XML JMS Java IDL JTS JTA JavaMail 于JAF

Java EE产品提供者通常是应用程序服务器、web服务器或数据库系统供应商,他们提供实现规范中定义的接口的类。这些供应商在Java EE规范的实现上相互竞争。

当一个公司需要Java EE经验时,他们真正要求的是使用组成Java EE的技术的经验。通常,公司只使用Java EE技术的一个子集。

似乎Oracle现在正试图摆脱jsp(用Faces代替),并模仿Spring的REST (JAX-RS)和DI。

裁判:https://docs.oracle.com/javaee/7/firstcup/java-ee001.htm

表2-1 web层Java EE技术


JavaServer Faces技术

web应用程序的用户界面组件框架,允许您在XHTML页面上包含UI组件(如字段和按钮),称为Facelets页面;转换和验证UI组件数据;将UI组件数据保存到服务器端数据存储;维护组件状态

表达式语言

Facelets页面中用于引用Java EE组件的一组标准标记

servlet

动态处理请求和构造响应的Java编程语言类,通常用于HTML页面

Java EE的上下文和依赖注入

一组上下文服务,使开发人员可以轻松地在web应用程序中使用企业bean和JavaServer Faces技术

它的意义一直在变化。它过去指的是servlet、JSP和ejb。 现在它可能意味着Spring和Hibernate等。

他们真正需要的是对Java生态系统、Servlet容器、JMS、JMX、Hibernate等的经验和理解,以及如何将它们组合在一起。

测试和源代码控制也是一项重要的技能。