經常在用apache和tomcat等這些伺服器,可是總感覺還是不清楚他們之間有什麼關係,在用tomcat的時候總出現apache,總感到迷惑,到底誰是主誰是次,因此特意在網上查詢了一些這方面的資料,總結了一下:
解析一
apache支援靜態頁,tomcat支援動態,比如servlet等,
一般使用apache+tomcat的話,apache只是作為一個轉寄,對jsp的處理是由tomcat來處理的。
apche可以支援phpcgiperl,但是要使用java的話,你需要tomcat在apache後台支撐,將java請求由apache轉寄給tomcat處理。
apache是web伺服器,tomcat是應用(java)伺服器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是apache的擴充,但是可以獨立於apache運行。
這兩個有以下幾點可以比較的:
1、兩者都是apache組織開發的
2、兩者都有HTTP服務的功能
3、兩者都是免費的
不同點:
Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬機器主機、URL轉寄等等)
Tomcat是Apache組織在符合J2EE的JSP、Servlet標準下開發的一個JSP伺服器
?
| 12345678910 |
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等。但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上。