熟悉三國的朋友都知道曹操,曹操有二十五個兒子,其中最得曹操寵愛的是曹丕、曹植、曹彰三個,曹丕性格陰冷,擅長政治;曹植才華橫溢,放浪不羈;曹彰武藝高強,戰功卓著。曹操一直但願這三個兒子當中選取本身的繼承人,最後與曹操性格最爲相近的曹丕脫穎而出。可是咱們永遠都不會否定曹植的才華和曹彰的武功。算法
Apache是世界使用排名第一的Web服務器軟件。它能夠運行在幾乎全部普遍使用的計算機平臺上,因爲其跨平臺和安全性被普遍使用,是最流行的Web服務器端軟件之一。在Apache基金會裏面Apache Server永遠會被賦予最大的支持,畢竟大兒子最親嘛,而Apache的開源服務器軟件Tomcat一樣值得關注,畢竟Tomcat是開源免費的產品,用戶會給予最大的支持。可是常常在用Apache和Tomcat等這些服務器時,你總感受仍是不清楚他們之間有什麼關係,在用Tomcat的時候總出現Apache,總感到迷惑,到底誰是主誰是次,所以特地在網上查詢了一些這方面的資料,總結了一下。(51CTO編輯推薦:Tomcat 7功能與應用指南)數據庫
解析一:安全
Apache支持靜態頁,Tomcat支持動態的,好比Servlet等,服務器
通常使用Apache+Tomcat的話,Apache只是做爲一個轉發,對JSP的處理是由Tomcat來處理的。數據結構
Apche能夠支持PHPcgiperl,可是要使用Java的話,你須要Tomcat在Apache後臺支撐,將Java請求由Apache轉發給Tomcat處理。ide
Apache是Web服務器,Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,能夠認爲是Apache的擴展,可是能夠獨立於Apache運行。spa
這兩個有如下幾點能夠比較的:翻譯
◆二者都是Apache組織開發的設計
◆二者都有HTTP服務的功能xml
◆二者都是免費的
不一樣點:
Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發等等)
Tomcat是Apache組織在符合Java EE的JSP、Servlet標準下開發的一個JSP服務器.
Runtime r=Runtime.getRuntime();
Process p=null;
try
{
p=r.exec("notepad");
}
catch(Exception ex)
{
System.out.println("fffff");
}
解析二:
Apache是一個Web服務器環境程序,啓用他能夠做爲Web服務器使用,不過只支持靜態網頁 如(ASP,PHP,CGI,JSP)等動態網頁的就不行。
若是要在Apache環境下運行JSP的話就須要一個解釋器來執行JSP網頁,而這個JSP解釋器就是Tomcat, 爲何還要JDK呢?由於JSP須要鏈接數據庫的話 就要jdk來提供鏈接數據庫的驅程,因此要運行JSP的Web服務器平臺就須要Apache+Tomcat+JDK。
整合的好處是:
◆若是客戶端請求的是靜態頁面,則只須要Apache服務器響應請求。
◆若是客戶端請求動態頁面,則是Tomcat服務器響應請求。
◆由於JSP是服務器端解釋代碼的,這樣整合就能夠減小Tomcat的服務開銷。
C是一個結構化語言,如譚老爺子所說:它的重點在於算法和數據結構。C程序的設計首要考慮的是如何經過一個過程,對輸入(或環境條件)進行運算處理獲得輸出(或實現過程(事務)控制),而對於C++,首要考慮的是如何構造一個對象模型,讓這個模型可以契合與之對應的問題域,這樣就能夠經過獲取對象的狀態信息獲得輸出或實現過程(事務)控制。
解析三:
Apache:側重於HTTP Server
Tomcat:側重於Servlet引擎,若是以Standalone方式運行,功能上與Apache等效 , 支持JSP,但對靜態網頁不太理想;
Apache是Web服務器,Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,能夠認爲是Apache的擴展,可是能夠獨立於Apache運行。
換句話說,Apache是一輛卡車,上面能夠裝一些東西如Html等。可是不能裝水,要裝水必需要有容器(桶),而這個桶也能夠不放在卡車上。
小結
整體來講,Tomcat也許永遠不會成爲Apache最重要的產品,可是誰也阻止不了Tomcat成爲主流產品,Apache對於這個小兒子一樣也會給至關大的關心。