Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。
Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。
apache是一個(gè)web服務(wù)器程序,可以作為web服務(wù)器使用,不過只支持靜態(tài)網(wǎng)頁, 但是如asp, php, cgi, jsp等動(dòng)態(tài)網(wǎng)頁的就不行。如果要在APACHE環(huán)境下運(yùn)行jsp 的話就需要一個(gè)解釋器來執(zhí)行jsp網(wǎng)頁,而這個(gè)jsp解釋器就是TOMCAT。
概括來說,tomcat和apache都可以作為web服務(wù)器來使用,也就是單獨(dú)作為一個(gè)web服務(wù)器,“httpd”,完成http服務(wù)的請(qǐng)求與響應(yīng)。但是,除此之外,tomcat除了可以處理html頁面以外,還可以作為servelt容器來解析jsp頁面和servlet。但是Apache服務(wù)器則只能處理html頁面。也就是說它僅僅完成一個(gè)web服務(wù)器的作用,如果要完成其他功能,比如運(yùn)行php,jsp頁面,則要另外集成相應(yīng)的web容器。
同是作為web服務(wù)器,僅僅處理html頁面時(shí),Apache服務(wù)器的性能比tomcat要好,因此,常常將兩者結(jié)合。一般來說,大的站點(diǎn)都是將Tomcat與Apache的結(jié)合,Apache負(fù)責(zé)接受所有來自客戶端的HTTP請(qǐng)求,然后將Servlets和JSP的請(qǐng)求轉(zhuǎn)發(fā)給Tomcat來處理。Tomcat完成處理后,將響應(yīng)傳回給Apache,最后Apache將響應(yīng)返回給客戶端。
關(guān)于Apache http server和tomcat如何集成,請(qǐng)參見:
windowsxp下集成Tomcat與Apache:
http://dev.csdn.net/article/73669.shtm
tomcat與Apache服務(wù)器集成:
http://xshq.javaeye.com/blog/354259
Apache HTTP Server 與 Tomcat 的三種連接方式介紹:
http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/