Java Web服務(wù)器(應(yīng)用服務(wù)器)
Java Web服務(wù)器(應(yīng)用服務(wù)器)
應(yīng)用服務(wù)器主要為應(yīng)用程序提供運(yùn)行環(huán)境,為組件提供服務(wù)。Java 的應(yīng)用服務(wù)器很多,從功能上分為兩大類,JSP 服務(wù)器和 Java EE 服務(wù)器,也可分其他小類。下面是小編整理的關(guān)于Java Web服務(wù)器(應(yīng)用服務(wù)器),希望大家認(rèn)真閱讀!
WebLogic、
【資料圖】
WebLogic是美國bea公司出品的一個application server確切的說是一個基于j2ee架構(gòu)的中間件。BEA WebLogic是用于開發(fā)、集成、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫應(yīng)用的Java應(yīng)用服務(wù)器。將Java的動態(tài)功能和Java Enterprise標(biāo)準(zhǔn)的安全性引入大型網(wǎng)絡(luò)應(yīng)用的開發(fā)、集成、部署和管理之中。被Oracle收購
WebSphere、
WebSphere是 IBM 的集成軟件平臺。它包含了編寫、運(yùn)行和監(jiān)視全天候的工業(yè)強(qiáng)度的隨需應(yīng)變 Web 應(yīng)用程序和跨平臺、跨產(chǎn)品解決方案所需要的整個中間件基礎(chǔ)設(shè)施,如服務(wù)器、服務(wù)和工具。WebSphere 提供了可靠、靈活和健壯的集成軟件。
JBOSS、
JBoss是一個管理EJB的容器和服務(wù)器,支持EJB 1.1、EJB 2.0和EJB3.0的規(guī)范。但JBoss核心服務(wù)不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。2006年,Jboss公司被Redhat公司收購。
Tomcat
Tomcat 服務(wù)器是一個免費的開放源代碼的Web 應(yīng)用服務(wù)器,它是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因為Tomcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。
Tomcat 很受廣大程序員的喜歡,因為它運(yùn)行時占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。
Tomcat 是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時,它實際上作為一個與Apache 獨立的進(jìn)程單獨運(yùn)行的。
這里的訣竅是,當(dāng)配置正確時,Apache 為HTML頁面服務(wù),而Tomcat 實際上運(yùn)行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。
Tomcat 最新版本是4.0x.4.0x與3.x的架構(gòu)不同,而是重新設(shè)計的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的.實現(xiàn)了Servlet2.3和Jsp1.2規(guī)范。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。
與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個WAR(Web Archive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個壓縮包。這個包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會有一個WEB-INF目錄,這個目錄很重要。通常在WEB-INF目錄下有一個web.xml文件和一個classes目錄,web.xml是這個應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來不方便。
在Tomcat中,應(yīng)用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應(yīng)用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。另外Tomcat也提供了一個應(yīng)用:manager,訪問這個應(yīng)用需要用戶名和密碼,用戶名和密碼存儲在一個xml文件中。通過這個應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。
Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文件即可。
另外,Tomcat提供Realm支持。Realm類似于Unix里面的group.在Unix中,一個group對應(yīng)著系統(tǒng)的一定資源,某個group不能訪問不屬于它的資源。Tomcat用Realm來對不同的應(yīng)用(類似系統(tǒng)資源)賦給不同的用戶(類似group)。沒有權(quán)限的用戶則不能訪問這個應(yīng)用。Tomcat提供三種Realm,1:JDBCRealm,這個Realm將用戶信息存在數(shù)據(jù)庫里,通過JDBC獲得用戶信息來進(jìn)行驗證。2:JNDIRealm,用戶信息存在基于LDAP的服務(wù)器里,通過JNDI獲取用戶信息。3:MemoryRealm,用戶信息存在一個xml文件里面,上面講的manager應(yīng)用驗證用戶時即使用此種Realm.通過Realm我們可以方便地對訪問某個應(yīng)用的客戶進(jìn)行驗證。
在Tomcat4中,你還可以利用Servlet2.3提供的事件監(jiān)聽功能,來對你的應(yīng)用或者Session實行監(jiān)聽。Tomcat也提供其它的一些特征,如與SSL集成到一塊,實現(xiàn)安全傳輸。還有Tomcat也提供JNDI支持,這與那些J2EE應(yīng)用服務(wù)器提供的是一致的。說到這里我們要介紹一下通常所說的應(yīng)用服務(wù)器(如WebLogic)與Tomcat有何區(qū)別。應(yīng)用服務(wù)器提供更多的J2EE特征,如EJB,JMS,JAAS等,同時也支持Jsp和Servlet.而Tomcat則功能沒有那么強(qiáng)大,它不提供EJB等支持。但如果與JBoss(一個開源的應(yīng)用服務(wù)器)集成到一塊,則可以實現(xiàn)J2EE的全部功能。既然應(yīng)用服務(wù)器具有Tomcat的功能,那么Tomcat有沒有存在的必要呢?事實上,我們的很多中小應(yīng)用不需要采用EJB等技術(shù),Jsp和Servlet已經(jīng)足夠,這時如果用應(yīng)用服務(wù)器就有些浪費了。而Tomcat短小精悍,配置方便,能滿足我們的需求,這種情況下我們自然會選擇Tomcat.
基于Tomcat的開發(fā)其實主要是Jsp和Servlet的開發(fā),開發(fā)Jsp和Servlet非常簡單,你可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。我們這里要提到另外一個工具Ant,Ant也是Jakarta中的一個子項目,它所實現(xiàn)的功能類似于Unix中的make.你需要寫一個build.xml文件,然后運(yùn)行Ant就可以完成xml文件中定義的工作,這個工具對于一個大的應(yīng)用來說非常好,我們只需在xml中寫很少的東西就可以將其編譯并打包成WAR.事實上,在很多應(yīng)用服務(wù)器的發(fā)布中都包含了Ant.另外,在Jsp1.2中,可以利用標(biāo)簽庫實現(xiàn)Java代碼與Html文件的分離,使Jsp的維護(hù)更方便。
Tomcat也可以與其它一些軟件集成起來實現(xiàn)更多的功能。如與上面提到的JBoss集成起來開發(fā)EJB,與Cocoon(Apache的另外一個項目)集成起來開發(fā)基于Xml的應(yīng)用,與OpenJMS集成起來開發(fā)JMS應(yīng)用,除了我們提到的這幾種,可以與Tomcat集成的軟件還有很多。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。