Web服務(wù)器與HTTP服務(wù)器之間的區(qū)別(一)
- 作者:新網(wǎng)
- 來(lái)源:新網(wǎng)
- 瀏覽:100
- 2018-02-27 17:27:16
到目前為止,Tomcat一直被認(rèn)為是Servlet/JSP API的執(zhí)行器,也就所謂的Servlet容器。然而,Tomcat并不僅僅如此,它還提供了JNDI和JMX API的實(shí)現(xiàn)機(jī)制。盡管如此,Tomcat仍然還不能算是應(yīng)用服務(wù)器,因?yàn)樗惶峁┐蠖鄶?shù)J2EE API的支持。
到目前為止,Tomcat一直被認(rèn)為是Servlet/JSP API的執(zhí)行器,也就所謂的Servlet容器。然而,Tomcat并不僅僅如此,它還提供了JNDI和JMX API的實(shí)現(xiàn)機(jī)制。盡管如此,Tomcat仍然還不能算是應(yīng)用服務(wù)器,因?yàn)樗惶峁┐蠖鄶?shù)J2EE API的支持。
<
div>很有意思的是,目前許多的應(yīng)用服務(wù)器通常把Tomcat作為它們Servlet和JSP API的容器。由于Tomcat允許開(kāi)發(fā)者只需通過(guò)加入一行致謝,就可以把Tomcat嵌入到它們的應(yīng)用中。遺憾的是,許多商業(yè)應(yīng)用服務(wù)器并沒(méi)有遵守此規(guī)則。
對(duì)于開(kāi)發(fā)者來(lái)說(shuō),如果是為了尋找利用Servlet、JSP、JNDI和JMX技術(shù)來(lái)生成Java Web應(yīng)用的話,選擇Tomcat是一個(gè)優(yōu)秀的
解決方案;但是為了尋找支持其他的J2EE API,那么尋找一個(gè)應(yīng)用服務(wù)器或者把Tomcat作為應(yīng)用服務(wù)器的輔助,將是一個(gè)不錯(cuò)的解決方案;第三種方式是找到獨(dú)立的J2EE API實(shí)現(xiàn),然后把它們跟Tomcat結(jié)合起來(lái)使用。雖然整合會(huì)帶來(lái)相關(guān)的問(wèn)題,但是這種方式是最為有效的。
Tomcat是提供一個(gè)支持Servlet和JSP運(yùn)行的容器。Servlet和JSP能根據(jù)實(shí)時(shí)需要,產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容。而對(duì)于Web服務(wù)器來(lái)說(shuō), Apache僅僅支持靜態(tài)網(wǎng)頁(yè),對(duì)于支持動(dòng)態(tài)網(wǎng)頁(yè)就會(huì)顯得無(wú)能為力;Tomcat則既能為動(dòng)態(tài)網(wǎng)頁(yè)服務(wù),同時(shí)也能為靜態(tài)網(wǎng)頁(yè)提供支持。盡管它沒(méi)有通常的Web服務(wù)器快、功能也不如Web服務(wù)器豐富,但是Tomcat逐漸為支持靜態(tài)內(nèi)容不斷擴(kuò)充。大多數(shù)的Web服務(wù)器都是用底層語(yǔ)言編寫(xiě)如C,利用了相應(yīng)平臺(tái)的特征,因此用純Java編寫(xiě)的Tomcat執(zhí)行速度不可能與它們相提并論。
一般來(lái)說(shuō),大的站點(diǎn)都是將Tomcat與Apache的結(jié)合,Apache負(fù)責(zé)接受所有來(lái)自客戶(hù)端的HTTP請(qǐng)求,然后將Servlets和JSP的請(qǐng)求轉(zhuǎn)發(fā)給Tomcat來(lái)處理。Tomcat完成處理后,將響應(yīng)傳回給Apache,最后Apache將響應(yīng)返回給客戶(hù)端。而且為了提高性能,可以一臺(tái)
apache連接多臺(tái)tomcat實(shí)現(xiàn)負(fù)載平衡。