亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號