Tomcat,Jboss,Glassfish等web容器比較選型


概述

Web容器是一種服務調用的規范,J2EE運用了大量的容器和組件技術來構建分層的企業應用。在J2EE規范中,相應的有WEB Container和EJB Container等。

Web容器給處於其中的應用程序組件(JSP,SERVLET)提供環境,是的JSP,SERVLET直接與容器中的環境變量打交道,而不必關注其他系統問題。

Web容器更多的是與HTTP的請求打交道,而EJB容器不是,它更多的是跟數據庫其他服務打交道。

Web服務器

Web服務器可以處理HTTP協議,當Web服務器接收到一個HTTP請求,就會返回一個HTTP響應。

Web服務器可以針對靜態頁面或者圖片的請求進行跳轉,或者把動態響應委托給其他一些程序,如CGI,JSP,servlets,Asp,Javascript或者其他服務器端技術。

Web服務器僅僅提供一個可執行服務器端環境和返回響應的環境,不涉及其他技術。

Apache

是簡單的web服務器,速度快,在大型網站中,常與應用服務器配合部署,僅支持靜態網頁。

Nginx

著名的HTTP服務器,速度極快,支持負載均衡。

應用程序服務器

根據定義,作為應用程序服務器,要求可以通過各種協議(包括 HTTP 協議)把商業邏輯暴露給(expose)客戶端應用程序。應用程序使用商業邏輯就像你調用對象的一個方法或過程(語言中的一個函數)一樣。 

Tomcat

Tomcat僅是個HTTP服務器,以及Servlet/JSP API的執行器,也就是所謂的servlet容器,不支持EJB,JMS。

相對於JBOSS來說較為輕量級,實現的功能也較少,不能完整的支持最新的JavaEE標准,適用於較為簡單的Web應用,簡單易用。

 

JBOSS

JBOSS是開源應用服務器,JBOSS與Tomcat不同,它提供了更多開箱即用的功能特性,也更重,它完整的實現了J2EE 6。

那么應該怎樣選擇Tomcat或者是JBOSS,如果對大企業來說,JBOSS提供了額外的如下功能:

  1. JMS messaging for asynchronous integration
  2. Web Services engine (JAX-WS and/or JAX-RS)
  3. Management capabilities like JMX and a scripted administration interface
  4. Advanced security, e.g. out-of-the-box integration with 3rd party directories
  5. EAR file instead of "only" WAR file support
  6. all the other "great" Java EE features I can't remember :-)

Glassfish

Oracle開發的官方Java容器,支持最新的特性,有自己的web容器(不是tomcat)。

選型

主要根據應用的規模和需求來確定,如果僅僅是簡單應用,不需要支持負責的EJB或者JMS等特性,選擇簡單易用的Tomcat是一個好選擇。如果需要更多J2EE的特性,則需要考慮使用Jboss這種全功能服務器了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM