`

Web服务器父与子 Apache和Tomcat区别

阅读更多

    经常在用Apache和Tomcat等这些服务器时,你总感觉还是不清楚他们之间有什么关系。在用Tomcat的时候总出现Apache,总感到迷惑,到底谁是主谁是次呢?本文将会给大家一个详细的解答。

     熟悉三国的朋友都知道曹操,曹操有二十五个儿子,其中最得曹操宠爱的是曹丕、曹植、曹彰三个,曹丕性格阴冷,擅长政治;曹植才华横溢,放浪不羁;曹彰武艺高强,战功卓著。曹操一直希望这三个儿子当中选取自己的继承人,最后与曹操性格最为相近的曹丕脱颖而出。但是我们永远都不会否认曹植的才华和曹彰的武功。

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服务器.

  1. Runtime r=Runtime.getRuntime();   
  2. Process p=null;   
  3. try   
  4. {   
  5. p=r.exec("notepad");   
  6. }   
  7. catch(Exception ex)   
  8. {   
  9. System.out.println("fffff");   
  10. }   
  11.  

解析二:

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对于这个小儿子同样也会给相当大的关心。

 

分享到:
评论

相关推荐

    tomcat工作原理-框架

    - 深入阅读Tomcat源码有助于理解其工作原理,例如`org.apache.catalina.connector.Request`和`org.apache.catalina.connector.Response`类是处理请求和响应的核心。 - `org.apache.catalina.Context`和`org.apache...

    Tomcat加载顺序

    Apache Tomcat作为一款广泛使用的开源Servlet容器,其类加载机制是理解和维护基于Tomcat的应用程序的重要部分。Tomcat的类加载器遵循特定的加载顺序,确保了不同应用间的隔离性和资源的正确加载。下面将详细解析...

    这是一个简单web应用程序

    3. **Tomcat服务器**:Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,它是一个开源的轻量级Web服务器和Servlet容器。Tomcat对Java EE的Web部分提供了一个实现,包括Servlet和JSP。 【项目结构】 - **....

    apache-maven-3.0.3.rar

    6. **聚合与继承**:一个父POM可以管理多个子项目的配置,实现配置的共享和集中管理,而聚合项目可以将多个独立的项目视为一个整体进行构建。 在压缩包内的“maven-proxy-webapp.war”文件,很可能是一个使用Maven...

    MyEclipse下开发Web Service(Axis)

    3. **AxisWar包**:包含了一个已经打包好的Axis应用,可以直接部署到Web服务器上。 4. **Apache Tomcat**:作为Web容器,用于部署Web应用程序。 5. **Axis2 Eclipse插件**:提供了代码生成和打包工具,方便开发者...

    SpringBoot WEB入门

    它通过内嵌Tomcat或Jetty服务器,自动配置Spring和许多其他开源库,使得我们无需繁琐的配置就能快速启动项目。 接下来,让我们详述如何集成SpringBoot和maven。Maven是Java项目管理工具,它管理项目的构建、报告和...

    myEclips入门教程.doc

    - **目标**: 配置Web服务器(TOMCAT)环境,以支持Java Web应用程序的部署和测试。 - **步骤**: - **下载与安装**: 将Apache Tomcat-6.0.20解压到`D:\J2EE_SOFT\apache-tomcat-6.0.20`。 - **环境变量配置**: - `...

    JSP高级编程

    JSP是一种如日中天的新型Internet/Intranet开发语言,可以在多种操作系统平台和多种Web服务器下使用。本书从最基础的JSP开发开始,循序渐进地介绍了JSP 开发技术,并涵盖了许多高级主题,如需要在企业级Web应用中...

    jsp servlet 入门学习资料-新手一看就懂

    3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP...

    jsp从入门到高级编程

    3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP...

    JSP高级教程

    3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP...

    springboot+shiro+swagger2前后端分离整合

    这可能是项目源代码的父模块名称,通常在Maven或者Gradle项目中,父模块用来管理子模块的共性配置,如版本号、依赖管理和插件设置。这表明项目可能被组织成多个子模块,每个子模块负责不同的功能部分,如Spring ...

    maven实例源码

    这表明该实例可能包含一个父项目,其子项目继承自这个父项目,从而实现代码的复用和一致性管理。 1. **Maven多模块项目**:Maven支持多模块项目结构,允许将大型项目拆分为多个独立的模块,每个模块都有自己的POM....

    Maven多模块搭建SSM框架实例,注:在JDK1.8的环境下搭建的

    6. 配置Tomcat运行:将整个项目部署到Tomcat服务器,配置web.xml以启动Spring和Spring MVC。 7. 测试:编写单元测试和集成测试,确保各个模块功能正常。 五、Maven的优势 1. 简化依赖管理:Maven自动下载并管理项目...

    【答辩前参考】用于学生答辩前参考

    - **Tomcat简介**:Apache Tomcat是一个免费开源的轻量级Web服务器/容器,主要用于部署Java Web应用程序。Tomcat不仅支持Servlet,还支持JavaServer Pages (JSP)技术。 - **Tomcat的作用**:Tomcat作为Web服务器...

    淘淘商城01

    MyBatis作为DAO层,Druid作为数据库连接池,Redis作为缓存,Solr作为搜索引擎,FastDFS作为分布式文件系统,Nginx作为反向代理服务器,Quartz作为定时任务框架,Tomcat作为Web服务器,使用Maven进行项目管理。...

    Java面试题(20211007014657).pdf

    13. **应用服务器与Web服务器**:Web服务器主要处理HTTP请求,如Apache Tomcat;应用服务器提供更全面的业务逻辑支持,如IBM WebSphere。 14. **设计模式**:如工厂模式用于创建对象,UML(统一建模语言)用于系统...

    maven配置文档

    定义一个父项目,用于统一管理多个子模块的依赖和配置。 **6.3 simple-weather模块** 创建一个子模块,负责处理天气数据的获取和处理。 **6.4 simple-webapp模块** 创建另一个子模块,负责Web应用的开发。 **6.5 ...

Global site tag (gtag.js) - Google Analytics