当前位置: 首页 > 面试题库 >

Java EE到底是什么?

侯涵煦
2023-03-14
问题内容

我从事Java SE已有数年了,然后转向Java EE。但是,在理解Java EE的某些方面时遇到一些麻烦。

  1. Java EE只是一个规范吗?我的意思是:是EJB Java EE吗?

  2. EJB / Spring是否是Java EE的不同实现?

抱歉,我很难理解Java EE是什么。

有人可以解释一下Java EE是什么吗?和EJB?


问题答案:

Java EE只是一个规范吗?我的意思是:是EJB Java EE吗?

Java EE确实是一个抽象规范。任何人都愿意开发并提供规范的有效实施。在具体的实现是所谓的应用服务器,如WildFly,TomEE,GlassFish的,自由,的WebLogic等,还有一些只实现了巨大的Java EE API的JSP / Servlet的一部分servlet容器,如Tomcat的,码头,等等

我们,Java EE的开发者,应该写利用规范的代码(即导入只 javax.*在我们的代码,而不是类执行特定的类如 org.jboss.wildfly.*com.sun.glassfish.*等),然后我们就可以在任何执行(运行我们的代码,因此,在任何应用程序服务器)。如果你熟悉JDBC,则其基本概念与JDBC驱动程序的工作原理相同。另请参见ao 简单来说,什么是工厂

从Oracle.com 下载的Java EE SDK基本上包含GlassFish服务器以及大量文档和示例,还可以选择包含NetBeans IDE。如果你需要其他服务器和/或IDE,则不需要它。

EJB是Java EE规范的一部分。看,它在Java EE API中。完善的Java EE应用服务器开箱即用地支持它,但是简单的JSP / Servlet容器则不支持。

EJB / Spring是否是Java EE的不同实现?

不用说,EJB是Java EE的一部分。Spring是一个独立的框架,可以替代和改进Java EE的许多部分。Spring不一定需要运行Java EE。像Tomcat这样的简单servlet容器已经足够了。简而言之,Spring是Java EE的竞争对手。例如,“ Spring”(独立)竞争EJB / JTA,Spring MVC竞争JSF / JAX-RS,Spring DI / IoC / AOP竞争CDI,Spring Security竞争JAAS / JASPIC,等等。

追溯到以前的J2EE / EJB2时代,EJB2 API的实现和维护非常糟糕。那时,Spring是EJB2的更好替代品。但是从EJB3(Java EE 5)开始,基于从Spring汲取的经验教训,EJB API有了很大的改进。由于CDI(Java EE 6的),有没有真正的理由来看看再另一个像Spring框架,使开发者更容易以等开发服务层。

仅当你使用像Tomcat这样的基本servlet容器并且无法转移到Java EE服务器时,Spring才更具吸引力,因为在Tomcat上安装Spring更容易。如果不修改服务器本身就无法在Tomcat上安装例如EJB容器,那基本上就是在重新发明TomEE。



 类似资料:
  • 主要内容:JSP的由来,Servlet与JSP异同点,JSP相对于Servlet的优点JSP(Java Server Pages)是一种动态网页开发技术。JSP 文件就是在传统的 HTML 文件中插入 Java 代码和 JSP 标签,后缀名为 。 JSP 与 PHP、ASP、ASP.NET 等语言类似,都运行在服务端。通常返回给客户端的就是一个 HTML 文件,因此只要有浏览器就能查看 JSP 页面。 JSP 使用 JSP 标签在 HTML 网页中插入 Java 代码,标签通常以

  • 直到我在旧存储库中随机检查 ,我才听说过这个文件,它就是一个我自己没有编辑过也从未见过的文件。我不知道它是如何到达那里的。 似乎很常见 - 主要是如何删除它(例如这里和这里)。 这个文件是什么,是什么创建了它?

  • 基本上,为什么有这个术语? 还有,接口是什么意思?

  • 译者:lhc741 作者:Jeremy Howard,fast.ai。感谢Rachel Thomas和Francisco Ingham的帮助和支持。 我们推荐使用notebook来运行这个教程,而不是脚本,点击这里下载notebook(.ipynb)文件。 Pytorch提供了torch.nn、torch.optim、Dataset和DataLoader这些设计优雅的模块和类以帮助使用者创建和训练

  • 问题内容: 我不明白exactly到底在做什么。 如果你能用101个字来介绍exactly: 到底是什么 它如何与用Java编写的应用程序交互? 它与服务器一起使用吗? 它是一个独立程序吗? 请解释一下骆驼是什么。 问题答案: 我说: Apache Camel是消息传递技术与路由的结合。它将消息传递的起点和终点连接在一起,从而允许将消息从不同的源传输到不同的目的地。例如:JMS-> JSON,HT

  • 问题内容: 我还没有找到我能理解的高级Spring bean定义。我看到Grails文档和书籍中经常提到它们,但是我认为了解它们的好处将是有益的。那么什么是春豆呢?如何使用它们?他们和依赖注入有关系吗? 问题答案: 构成应用程序主干并由容器管理的对象称为bean。Bean是由Spring IoC容器实例化,组装和以其他方式管理的对象。这些bean是使用你提供给容器的配置元数据创建的,例如,以XML