J2EE應用伺服器

才智咖 人氣:1.16W

JFox(J2EE應用服務器)是基於J2EE的應用伺服器,遵循J2EE1.3規範,目標是成為J2EE1.3,1.4相容性產品。下面我們一起了解一些J2EE應用伺服器的情況。

WebLogic、

WebLogic是美國bea公司出品的一個application server確切的說是一個基於j2ee架構的中介軟體。BEA WebLogic是用於開發、整合、部署和管理大型分散式Web應用、網路應用和資料庫應用的Java應用伺服器。將Java的動態功能和Java Enterprise標準的安全性引入大型網路應用的開發、整合、部署和管理之中。被Oracle收購

WebSphere、

WebSphere是 IBM 的整合軟體平臺。它包含了編寫、執行和監視全天候的工業強度的隨需應變 Web 應用程式和跨平臺、跨產品解決方案所需要的整個中介軟體基礎設施,如伺服器、服務和工具。WebSphere 提供了可靠、靈活和健壯的整合軟體。

JBOSS、

JBoss是一個管理EJB的容器和伺服器,支援EJB 1.1、EJB 2.0和EJB3.0的規範。但JBoss核心服務不包括支援servlet/JSP的WEB容器,一般與Tomcat或Jetty繫結使用。2006年,Jboss公司被Redhat公司收購。

Tomcat

Tomcat 伺服器是一個免費的開放原始碼的Web 應用伺服器,它是Apache 軟體基金會(Apache Software Foundation)的Jakarta 專案中的一個核心專案,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支援,最新的Servlet 和JSP 規範總是能在Tomcat 中得到體現,Tomcat 5 支援最新的Servlet 2.4 和JSP 2.0 規範。因為Tomcat 技術先進、效能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟體開發商的認可,成為目前比較流行的Web 應用伺服器。

Tomcat 很受廣大程式設計師的喜歡,因為它執行時佔用的系統資源小,擴充套件性好,支援負載平衡與郵件服務等開發應用系統常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程式設計師都可以更改它或在其中加入新的功能。

Tomcat 是一個小型的輕量級應用伺服器,在中小型系統和併發訪問使用者不是很多的場合下被普遍使用,是開發和除錯JSP 程式的首選。對於一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 伺服器,可利用它響應對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 伺服器的擴充套件,但它是獨立執行的,所以當你執行tomcat 時,它實際上作為一個與Apache 獨立的程序單獨執行的。

這裡的訣竅是,當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上執行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web伺服器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的預設模式。不過,Tomcat處理靜態HTML的能力不如Apache伺服器。

Tomcat 最新版本是4.0x.4.0x與3.x的架構不同,而是重新設計的。Tomcat4.0x中採用了新的Servlet容器:Catalina,完整的實現了Servlet2.3和Jsp1.2規範。由於Java的跨平臺特性,基於Java的Tomcat也具有跨平臺性。

與傳統的桌面應用程式不同,Tomcat中的應用程式是一個WAR(Web Archive)檔案。WAR是Sun提出的一種Web應用程式格式,與JAR類似,也是許多檔案的一個壓縮包。這個包中的檔案按一定目錄結構來組織:通常其根目錄下包含有Html和Jsp檔案或者包含這兩種檔案的.目錄,另外還會有一個WEB-INF目錄,這個目錄很重要。通常在WEB-INF目錄下有一個檔案和一個classes目錄,是這個應用的配置檔案,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當然也可以放到系統的CLASSPATH中,但那樣移植和管理起來不方便。

在Tomcat中,應用程式的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個檔案,並將其解壓。你在瀏覽器中訪問這個應用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉化為Servlet檔案,然後編譯。編譯以後,訪問將會很快。另外Tomcat也提供了一個應用:manager,訪問這個應用需要使用者名稱和密碼,使用者名稱和密碼儲存在一個xml檔案中。通過這個應用,輔助於Ftp,你可以在遠端通過Web部署和撤銷應用。當然本地也可以。

Tomcat不僅僅是一個Servlet容器,它也具有傳統的Web伺服器的功能:處理Html頁面。但是與Apache相比,它的處理靜態Html的能力就不如Apache.我們可以將Tomcat和Apache整合到一塊,讓Apache處理靜態Html,而Tomcat處理Jsp和Servlet.這種整合只需要修改一下Apache和Tomcat的配置檔案即可。

另外,Tomcat提供Realm支援。Realm類似於Unix裡面的group.在Unix中,一個group對應著系統的一定資源,某個group不能訪問不屬於它的資源。Tomcat用Realm來對不同的應用(類似系統資源)賦給不同的使用者(類似group)。沒有許可權的使用者則不能訪問這個應用。Tomcat提供三種Realm,1:JDBCRealm,這個Realm將使用者資訊存在資料庫裡,通過JDBC獲得使用者資訊來進行驗證。2:JNDIRealm,使用者資訊存在基於LDAP的伺服器裡,通過JNDI獲取使用者資訊。3:MemoryRealm,使用者資訊存在一個xml檔案裡面,上面講的manager應用驗證使用者時即使用此種Realm.通過Realm我們可以方便地對訪問某個應用的客戶進行驗證。

在Tomcat4中,你還可以利用Servlet2.3提供的事件偷聽功能,來對你的應用或者Session實行監聽。Tomcat也提供其它的一些特徵,如與SSL整合到一塊,實現安全傳輸。還有Tomcat也提供JNDI支援,這與那些J2EE應用伺服器提供的是一致的。說到這裡我們要介紹一下通常所說的應用伺服器(如WebLogic)與Tomcat有何區別。應用伺服器提供更多的J2EE特徵,如EJB,JMS,JAAS等,同時也支援Jsp和Servlet.而Tomcat則功能沒有那麼強大,它不提供EJB等支援。但如果與JBoss(一個開源的應用伺服器)整合到一塊,則可以實現J2EE的全部功能。既然應用伺服器具有Tomcat的功能,那麼Tomcat有沒有存在的必要呢?事實上,我們的很多中小應用不需要採用EJB等技術,Jsp和Servlet已經足夠,這時如果用應用伺服器就有些浪費了。而Tomcat短小精悍,配置方便,能滿足我們的需求,這種情況下我們自然會選擇Tomcat.

基於Tomcat的開發其實主要是Jsp和Servlet的開發,開發Jsp和Servlet非常簡單,你可以用普通的文字編輯器或者IDE,然後將其打包成WAR即可。我們這裡要提到另外一個工具Ant,Ant也是Jakarta中的一個子專案,它所實現的功能類似於Unix中的make.你需要寫一個檔案,然後執行Ant就可以完成xml檔案中定義的工作,這個工具對於一個大的應用來說非常好,我們只需在xml中寫很少的東西就可以將其編譯並打包成WAR.事實上,在很多應用伺服器的釋出中都包含了Ant.另外,在Jsp1.2中,可以利用標籤庫實現Java程式碼與Html檔案的分離,使Jsp的維護更方便。

Tomcat也可以與其它一些軟體整合起來實現更多的功能。如與上面提到的JBoss整合起來開發EJB,與Cocoon(Apache的另外一個專案)整合起來開發基於Xml的應用,與OpenJMS整合起來開發JMS應用,除了我們提到的這幾種,可以與Tomcat整合的軟體還有很多。