以前一直比較迷惑Apache與Tomcat的關係,經過查詢資料,有所瞭解,現記錄於此。html
二者定位:Apache是HTTP Web服務器,Tomcat是Web容器。web
有一個很是形象的比喻:Apache是一輛車,能夠裝載靜態的物件(HTML靜態網頁等);但不能裝動態的水(JSP、CGI等),要裝水就須要桶(容器),固然桶也能夠不放在車上而單獨存放,則該容器即爲Tomcat。數據庫
二者的主要區別:apache
二者能夠整合:當客戶端須要請求靜態資源,只須要Apache服務器響應請求;當客戶端須要動態資源,如JSP,須要Tomcat服務容器(Tomcat能夠將JSP解析爲Servlet)。因爲JSP須要JDK的數據庫驅動接口,因此通常組合是Apache+Tomcat+JDK。瀏覽器
兩篇介紹Apache服務網器比較好的博客:Apache與Tomcat的區別於聯繫,http://www.admin10000.com/document/974.html;web服務器apache架構與原理,http://www.cnblogs.com/fnng/archive/2012/11/08/2761713.html。服務器
因爲Servlet沒有main方法,Servlet生命週期方法的調用受控於容器,即容器管理Servlet的生命週期,包括初始化(init)、服務調用(service)和銷燬(destroy),Tomcat就是一個Servlet容器。架構
當Web服務器獲得一個Servlet請求時,並非直接將請求提交給Servlet,而是轉交給部署該Servlet的Web容器(Tomcat),由容器向Servlet提供HTTP請求和響應,並由容器調用Servlet的方法,如doGet()和doPost()。更詳細的容器處理請求和響應過程,後邊再整理。htm