http://developer.51cto.com/art/201007/210894.htm 熟悉三国的朋友都知道曹操,曹操有二十五个儿子,其中最得曹操宠爱的是曹丕、曹植、曹彰三个,曹丕性格阴冷,擅长政治;曹植才华横溢,放浪不羁;曹彰武艺高强,战功卓著。曹操一直但愿这三个儿子当中选取本身的继承人,最后与曹操性格最为相近的曹丕脱颖而出。可是咱们永远都不会否定曹植的才华和曹彰的武功。 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处理。 Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,能够认为是Apache的扩展,可是能够独立于Apache运行。 这两个有如下几点能够比较的: ◆二者都是Apache组织开发的 ◆二者都有HTTP服务的功能 ◆二者都是免费的 不一样点: 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对于这个小儿子一样也会给至关大的关心。