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