您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“Java的應(yīng)用程序服務(wù)器有哪些”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Java的應(yīng)用程序服務(wù)器有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
Tomcat
Tomcat是Apache Software Foundation開(kāi)發(fā)的與Java Web應(yīng)用程序一起使用的應(yīng)用程序服務(wù)器。Tomcat的市場(chǎng)份額占到了所有Java應(yīng)用服務(wù)器部署的60%。
然而,關(guān)于Tomcat作為應(yīng)用服務(wù)器的優(yōu)點(diǎn),存在一些混淆(甚至是爭(zhēng)議)。在技術(shù)上稱它為應(yīng)用服務(wù)器……事實(shí)并非如此。
讓我解釋。還記得當(dāng)我說(shuō)應(yīng)用服務(wù)器為你的應(yīng)用程序提供一些基礎(chǔ)設(shè)施和功能嗎?嗯,這套功能并不是隨意的。稱為Java EE的規(guī)范精確定義了應(yīng)用程序服務(wù)器的功能。因此,嚴(yán)格地說(shuō),我應(yīng)該只調(diào)用名稱應(yīng)用程序服務(wù)器通過(guò)Java EE兼容性測(cè)試的容器。截至今天,Oracle也列出了三個(gè)這樣的容器。
Oracle已將Java EE轉(zhuǎn)移到Eclipse Foundation,現(xiàn)在它在Java EE 8之后被稱為Jakarta EE。此外,現(xiàn)在還有一個(gè)完整EE平臺(tái)的Web Profile子集,以及一個(gè)僅支持servlet的Web容器。
實(shí)際上,Tomcat沒(méi)有實(shí)現(xiàn)Java EE應(yīng)用程序服務(wù)器所需的所有功能。Tomcat的準(zhǔn)確標(biāo)題是“web服務(wù)器”或“servlet容器”。但即使Tomcat不支持開(kāi)箱即用的某些Java EE功能,您仍然可以使用大多數(shù)這些功能。您只需將它們作為應(yīng)用程序中的其他第三方依賴項(xiàng)包含在內(nèi)。
因此,Tomcat是成熟的,文檔齊全的,也是使用最廣泛的Java應(yīng)用程序服務(wù)器。憑借良好的文檔以及在互聯(lián)網(wǎng)上關(guān)于它的教程,Tomcat幾乎在所有Java Web應(yīng)用程序中都是應(yīng)用服務(wù)器中最有利的競(jìng)爭(zhēng)者。
Jetty
Jetty 是另一個(gè)應(yīng)用程序服務(wù)器(由Eclipse Foundation開(kāi)發(fā)),從技術(shù)上講,它不是一個(gè)功能齊全的Java EE容器。就像Tomcat一樣,它缺乏對(duì)許多Java EE功能的支持。就像Tomcat一樣,您仍然可以通過(guò)添加其他第三方依賴項(xiàng)來(lái)使用大多數(shù)功能。
雖然Jetty的市場(chǎng)份額遠(yuǎn)不及Tomcat的市場(chǎng)份額,但它仍然廣泛應(yīng)用于行業(yè)。它的兩個(gè)主要賣點(diǎn)是緊湊和占地面積小。兩者都使Jetty非常適合受限環(huán)境和嵌入其他產(chǎn)品。
GlassFish
GlassFish是由Oracle開(kāi)發(fā)的功能齊全且經(jīng)過(guò)認(rèn)證的Java EE應(yīng)用服務(wù)器。因此,GlassFish比Tomcat或Jetty更重量級(jí),并且可以說(shuō),操作起來(lái)有點(diǎn)困難。
事實(shí)上,GlassFish不僅僅是一個(gè)通用的Java EE應(yīng)用服務(wù)器。它是Java EE標(biāo)準(zhǔn)的參考實(shí)現(xiàn)。這意味著GlassFish用于展示Java EE功能,它得到了定義Java EE標(biāo)準(zhǔn)的貢獻(xiàn)。因此,GlassFish將始終首先支持最新的Java EE功能。這是一個(gè)加分項(xiàng)。
GlassFish的缺點(diǎn)是缺乏商業(yè)支持。是的,這篇文章是關(guān)于免費(fèi)和開(kāi)源應(yīng)用服務(wù)器的,但這仍然是一個(gè)重點(diǎn)。隨著項(xiàng)目的發(fā)展和財(cái)務(wù)上的成功,您可能愿意為應(yīng)用程序服務(wù)器獲得長(zhǎng)期支持,安全更新,客戶支持等。這就是商業(yè)支持所提供的,許多公司都會(huì)購(gòu)買它。因此請(qǐng)記住,如果您將來(lái)使用GlassFish并需要商業(yè)支持,則需要遷移到完全不同的應(yīng)用程序服務(wù)器。
WildFly
WildFly,以前稱為JBoss Application Server,由紅帽 (Red Hat)開(kāi)發(fā),是另一個(gè)功能齊全且經(jīng)過(guò)認(rèn)證的應(yīng)用服務(wù)器。
WildFly相對(duì)于GlassFish的最大優(yōu)勢(shì)是Red Hat提供了從WildFly到其商業(yè)支持的應(yīng)用服務(wù)器JBoss企業(yè)應(yīng)用程序平臺(tái)的簡(jiǎn)單遷移路徑。這意味著您可以立即使用WildFly,并在將來(lái)快速遷移到JBoss EAP,以獲得商業(yè)支持,如果您確定需要的話。
我們?cè)撊绾芜x擇應(yīng)用程序服務(wù)器
這是一個(gè)細(xì)致入微的問(wèn)題。說(shuō)實(shí)話,答案因項(xiàng)目而異。
如果您不需要Java EE功能(例如,您將使用Spring Framework),那么我會(huì)說(shuō)使用Tomcat。這是事實(shí)上的行業(yè)標(biāo)準(zhǔn),因此,如果您選擇它,您將有最簡(jiǎn)單的時(shí)間查找文檔和示例。但是,如果您已經(jīng)知道將在受限環(huán)境中運(yùn)行應(yīng)用程序,請(qǐng)考慮選擇Jetty,因?yàn)樗加每臻g較小。
如果您計(jì)劃編寫Java EE應(yīng)用程序,那么事情會(huì)變得更加細(xì)微。
正如我已經(jīng)說(shuō)過(guò)的,可以通過(guò)包含第三方依賴項(xiàng)來(lái)使用Tomcat來(lái)運(yùn)行Java EE應(yīng)用程序。因此,如果您知道只使用一小部分Java EE,那么Tomcat仍然是一個(gè)不錯(cuò)的選擇。例如:如果您只需要JPA實(shí)現(xiàn),那么將EclipseLink導(dǎo)入到您的項(xiàng)目中就可以了,您可以愉快地繼續(xù)使用Tomcat。但是,如果您知道您將大量使用Java EE,或者您需要的功能不能作為第三方插件使用,那么請(qǐng)使用WildFly。
讀到這里,這篇“Java的應(yīng)用程序服務(wù)器有哪些”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。