首页 > Web开发 > 详细

Web服务器和应用服务器有什么区别

时间:2014-03-08 15:10:26      阅读:520      评论:0      收藏:0      [点我收藏+]


很多程序员其实并不太在意他们所使用的一些基础软件设施。对于网络应用程序员来说,一个典型的例子就是:他们很难说清楚Web服务器和应用服务器有什么区别,也不太搞得清楚EAR和WAR部署包之间的不同。类似的例子还有很多。


对于“Web服务器和应用服务器之间的区别”这种问题,其实网上有很多精妙的回答,这个就是其中之一。在大多数情况下,Web服务器和应用服务器,这两个词语是基本等价的。这篇文章阐述了典型的Web服务器的工作原理。通常大家纠结的问题是:Tomcat(多被认为是Web服务器)怎么会有能力去运行企业级的应用程序。这样的话,Tomcat到底是Web服务器还是应用服务器?下面就让我来说说我自己的看法。

以前,我曾经在stackoverflow上看到一个让我很纠结的问题就是:JPA和Hibernates到底有什么区别。我回复了这个问题,但是其中有一条回复让我对Java EE规范和Java EE服务器有了更深入和细致的理解。如果你能够了解这些细节,那么区分Web服务器和应用服务器就会变得非常简单。在我的研究过程中,我找到了这篇文章,对这个问题进行了更深入的讨论。

通过更加细致的阅读JavaEE规范,会给我们的讨论带来更明晰的线索。我们知道,所谓的规范无非就是一套规则而已。也就是定义一些接口。任何一个JavaEE服务器都需要服从这些规范,并实现这些接口。你可以在这里找到那些“官方认证”的JavaEE服务器的清单。如果你把你的企业级应用程序(就是指使用到JPA,EJB或者其他JavaEE组件功能的应用程序)部署到一个符合JavaEE规范的服务器上,那么真正的应用服务器本身是不需要你的部署包包含对JavaEE组件进行实现的类库的。如果部署的时候你必须要通过自己的应用程序中自带jar文件来支持这些JavaEE组件,那你用的就是Web服务器,就像是Tomcat。

chaishenyu781.com
xindongt4651.com
shenhylc8861.com
shisbou451.com
shengbo851.com

举个例子,如果你在你的程序里使用了JPA,然后你打算把程序部署到JBoss AS7服务器上,你的程序本身是不需要包含支持JPA实现的jar包的。但是如果你想把程序部署到Tomcat服务器上,你就必须要把实现JPA功能的jar包放到你的lib库中,然后再一起部署过去。这就是为什么JBoss AS7是应用服务器而Tomcat是Web服务器的原因。另一个关键的区别是,Tomcat上不能部署EAR文件,而只能部署WAR文件。

Web服务器和应用服务器有什么区别,布布扣,bubuko.com

Web服务器和应用服务器有什么区别

原文:http://www.cnblogs.com/geziwu/p/3586288.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!