为了账号安全,请及时绑定邮箱和手机立即绑定

Java EE 规范与实现

Java EE 规范与实现

德玛西亚99 2024-01-25 21:59:47
我最近开始学习 Java EE,但很难理解它。我已经在这里阅读了一些答案,但我仍然觉得我的理解存在一些差距。基本上,Java EE 是一个规范,TOMCAT、Glassfish 等应用服务器都有具体的实现。此外,任何人都可以提供 EE 的实现。那么,我已经javax.sevlet-api-4.0.1-sources.jar从 Maven 存储库下载了,我可以看到它们只是接口,我假设我们只是使用它们来构建项目?在 tomcat lib 文件夹中有一个servlet-api.jar. 这是servlet的tomcat实现吗?如果是,那么是否可以用另一个 servlet 版本实现替换它?现在,Hibernate是Persistence API的实现。如果我想将 Hibernate 与 Tomcat 一起使用。我只需要将 Hibernate 相关的 jar 添加到我的应用程序中,就可以将它们用于构建和运行?没有真正获得合同课程。
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

编译代码时需要 servlet-api jar 文件,因为那是 eg 所在的位置HttpServletRequest。您不需要在应用程序中包含该 jar,因为您将 war 文件部署到的 Servlet 容器(例如 Tomcat)已经提供了该 jar。

对于 Tomcat,各种 servlet 类的实现catalina.jar都在 中,至少对于 Tomcat 9 来说是这样,例如,ApplicationHttpRequest实现的类是HttpServletRequest。您不需要它来编译您的代码。


查看完整回答
反对 回复 2024-01-25
?
DIEA

TA贡献1820条经验 获得超2个赞

准确地说,Tomcat 并不是一个成熟的 Java EE 容器,它只处理部分 Java EE 规范(主要是 servlet、jsp、jndi 和其他一些)。

正如安德烈亚斯所写,您需要serlvet-api.jar编译代码(否则HttpSerlvetRequest会错过)。但由于 Tomcat 已经提供了它(作为接口)以及实际的实现,因此您应该将其添加为 maven 文件中的“提供”依赖项。


查看完整回答
反对 回复 2024-01-25
  • 2 回答
  • 0 关注
  • 36 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信