以前一直比较迷惑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