Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。
apache是一个web服务器程序,可以作为web服务器使用,不过只支持静态网页, 但是如asp, php, cgi, jsp等动态网页的就不行。如果要在APACHE环境下运行jsp 的话就需要一个解释器来执行jsp网页,而这个jsp解释器就是TOMCAT。

概括来说,tomcat和apache都可以作为web服务器来使用,也就是单独作为一个web服务器,“httpd”,完成http服务的请求与响应。但是,除此之外,tomcat除了可以处理html页面以外,还可以作为servelt容器来解析jsp页面和servlet。但是Apache服务器则只能处理html页面。也就是说它仅仅完成一个web服务器的作用,如果要完成其他功能,比如运行php,jsp页面,则要另外集成相应的web容器。

同是作为web服务器,仅仅处理html页面时,Apache服务器的性能比tomcat要好,因此,常常将两者结合。一般来说,大的站点都是将Tomcat与Apache的结合,Apache负责接受所有来自客户端的HTTP请求,然后将Servlets和JSP的请求转发给Tomcat来处理。Tomcat完成处理后,将响应传回给Apache,最后Apache将响应返回给客户端。

关于Apache http server和tomcat如何集成,请参见:

windowsxp下集成Tomcat与Apache:

http://dev.csdn.net/article/73669.shtm

tomcat与Apache服务器集成:

http://xshq.javaeye.com/blog/354259

Apache HTTP Server 与 Tomcat 的三种连接方式介绍:

http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/

Web服务器与应用服务器的区别:

Web服务器(Web Server)
Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。

要知道,Web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。

虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。

应用程序服务器(The Application Server)
根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法(或过程语言中的一个函数)一样。

应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(program logic)。 正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。

在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程序)的,例如基于J2EE(Java 2 Platform, Enterprise Edition)应用程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling), 和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。

警告(Caveats)

现在,XML Web Services已经使应用程序服务器和Web服务器的界线混淆了。通过传送一个XML有效载荷(payload)给服务器,Web服务器现在可以处理数据和响应(response)的能力与以前的应用程序服务器同样多了。
另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。

转载于:https://www.cnblogs.com/gaojing/archive/2009/09/15/1565731.html

[java]apache server与 tomcat 的区别以及整合相关推荐

  1. Apache服务器和tomcat服务器区别

    1.概述 Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行.Apache是Web服务器而Tomcat是Java应用服 ...

  2. 【转】Apache Http Server与Tomcat实现负载均衡和集群

    Apache Http Server与Tomcat实现负载均衡和集群 一.分布式实现原理 如上图所示,主要通过 Apache-Server 作为中转服务器,实现多个 tomcat 服务器之间的分布式处 ...

  3. Apache Server搭建图片服务器

    Apache Server搭建图片服务器 导读:公司来了几个应届生,经常问我图片应该上传到哪里,是直接在工程下面创建一个upload_image文件夹,然后将图片上传到这个upload_image文件 ...

  4. apache和tomcat的区别

    Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML.PHP.JSP.Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置. Apache是web服 ...

  5. Apache、Nginx、Tomcat的区别

    Apache.Nginx.Tomcat的区别 Nginx Tomcat Apache,Nginx与Tomcat的区别 Nginx -----是一个高性能的HTTP和反向代理服务器,也是一个IMAP/P ...

  6. 【Web网站服务器开发】Apache 和 Tomcat的区别及配置

    Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML.PHP.JSP.Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置. apache是web服 ...

  7. Apache和Tomcat的区别与联系

    作者:郭无心 链接:https://www.zhihu.com/question/37155807/answer/72706896 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  8. Apache和Apache Tomcat的区别和联系

    Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML.PHP.JSP.Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置. Apache是web服 ...

  9. apache   和Tomcat的区别

    经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总 ...

最新文章

  1. undertale人物_【undertale】传说之下精美人物图包 (Frisk篇)
  2. 到底什么是API经济
  3. 【今日CV 计算机视觉论文速览 第127期】Fri, 7 Jun 2019
  4. 三星Galaxy Note系列旗舰今年确定缺席:超万名粉丝请愿望其回归
  5. 《那些年啊,那些事——一个程序员的奋斗史》——122
  6. VLD(Visual LeakDetector)内存泄露工具的使用
  7. python写网页flash游戏辅助_会玩 | 使用 Python + Selenium制作Flash游戏辅助
  8. 解决win10桌面图标和任务栏图标一直闪烁
  9. i3wm学习笔记-基础快捷键
  10. 区块链会议_2018杭州云栖大会区块链相关_20180919
  11. 网页弹出窗口代码全攻略
  12. kk常用ramda函数总结
  13. 基于Python的电商数据分析系统
  14. 博士申请 | 香港大学计算机科学系黄超老师招收2022年入学全奖博士生
  15. 题解 P1550 【[USACO08OCT]打井Watering Hole】
  16. 怎样在tableau里做渐变柱状图
  17. 2021年网络安全十大发展趋势预测
  18. mac hdmi 不能调整音量_有史以来最贵的苹果Mac笔记本,PowerBook 5300ce(1995)体验...
  19. 介绍一款Excel数据收集软件,简单好用
  20. 计算机设备维护登记表,各种设备维护保养记录表格

热门文章

  1. 二分算法php,PHP练习-二分查找算法
  2. tensorflow随笔-线性拟合以及tensorboard
  3. mxnet基础到提高(10)--读写文件
  4. 21-5-22校赛J 下围棋
  5. 【NLP】fastText词向量与文本分类工具
  6. Github标星10.4k:用 NumPy 实现所有主流机器学习模型
  7. 概率论回顾.pptx
  8. 【深度学习】谷歌最新提出无需卷积、注意力 ,纯MLP构成的视觉架构!网友:MLP is All You Need ?...
  9. 【深度学习】李沐《动手学深度学习》的PyTorch实现已完成
  10. 【NLP】全方位解读 | Facebook的搜索是怎么做的?