zoukankan      html  css  js  c++  java
  • Tomcat Jboss Glassfish 三种常见web容器比较

    https://i.cnblogs.com/EditPosts.aspx?postid=7596859

    Tomcat Jboss Glassfish 三种常见web容器比较<br>
    一、缘由:
      新公司平台是纯Java架构,有用到Java Web(JSP)、Java 业务(EJB)、Nginx、、Websphere MQ、Mysql这样。大家知道java是跑在容器里的,

    这里的业务要用到EJB故选用了Glassfish容器。

      EJB是什么?EJB是一个服务器端的组件模型,可以部署分布式应用程序。J2EE规范这么说:Enterprise Java Bean (EJB )组件是运行在服务器端的业务组件;

    另外Java Servlet和Java Server Pages(JSP)是运行在服务端的web组件。

      那么常见的web容器(应用服务器)又有什么区别呢?下面慢慢道来。

    二、详解:
    1、Web容器

      Web容器是一种服务调用的规范,J2EE运用了大量的容器和组件技术来构建分层的企业应用。在J2EE规范中,相应的有Web Container和EJB Container等。

      Web容器给处于其中的应用程序组件(JSP、Servlet)提供环境,JSP、Servlet直接与容器中的环境变量打交道,而不必关注其他系统问题。

      Web容器更多的是与HTTP的请求打交道,而EJB容器不是,它更多的是跟数据库其他服务打交道。

    2、Web服务器

      Web服务器可以处理HTTP协议,当Web服务器收到一个HTTP请求,就会返回一个HTTP响应。

      Web服务器可以针对静态页面或者图片的请求进行跳转,或者把动态响应委托给其他一些程序,如CGI、JSP、Servlet、ASP、JavaScript或者其他服务端技术。

      Web服务器仅仅提供一个可执行服务器端环境和返回响应的环境,不涉及其他技术。

    1)Apache

      是简单的HTTP服务器,速度快,在大型网站中,常与应用服务器配合部署,仅支持静态页面。

    2)Nginx

      是著名的HTTP服务器,速度快,支持负载均衡。

    3、应用程序服务器(Web容器)

      作为应用服务器,要求可以通过各种协议(包括HTTP协议)把商业逻辑暴露给客户端应用程序。应用程序使用商业逻辑就像你调用对象的一个方法或过程一样。

    1)Tomcat

      Tomcat仅是个HTTP服务器,是Apache鼎力支持的Java Web服务器,是Servlet/JSP API的执行器,也就是所谓的Servlet容器,不支持EJB、JMS。

    相对于JBOSS来说较为轻量级,实现的功能也较少,不能完整的支持最新的JavaEE标准,适用于较为简单的Web应用。

    2)JBOSS

      JBOSS是开源Java EE应用服务器,它不但是Servlet容器,而且是EJB容器,它提供了更多开箱即用的功能特性,也更重,它完整的实现了J2EE 6。

    3)Glassfish

      Glassfish是Oracle 开发的官方Java EE容器,,也是同时支持Servlet和EJB,支持最新的特性,有自己的web容器,支持集群,支持热部署。

    三、区别及选型:
    1、区别:

      Tomcat只是一个HTTP服务器和Java servlet容器。 JBoss和GlassFish是完整的Java EE应用程序服务器,包括EJB容器和该堆栈的所有其他功能。

    另一方面,Tomcat具有更轻的内存占用(约60-70 MB),而那些Java EE服务器的权重在几百兆。 Tomcat对于简单的Web应用程序或使用诸如Spring

    之类的不需要完整Java EE服务器的框架的应用程序非常流行。管理Tomcat服务器可以说是更容易,因为有较少的移动部件。

    但是,对于确实需要完整的Java EE堆栈(或至少更多的部分,可以轻松地固定到Tomcat)的应用程序... JBoss和GlassFish是两个最流行的开源产品

    (第三个是Apache Geronimo ,在其上构建IBM WebSphere的免费版本)。 JBoss有一个更大和更深的用户社区,和一个更成熟的代码库。

    但是,JBoss在实现当前Java EE规范方面远远落后于GlassFish。此外,对于那些喜欢基于GUI的管理系统... GlassFish的管理控制台是非常光滑,

    而大多数管理在JBoss是通过命令行和文本编辑器。 GlassFish直接来自Sun / Oracle,具有所有的优点。 JBoss不受Sun / Oracle的控制,具有所有可以提供的优点。

    原版英文:http://stackoverflow.com/questions/3821640/what-is-the-difference-between-tomcat-jboss-and-glassfish

    Tomcat is merely an HTTP server and Java servlet container. JBoss and GlassFish are full-blown Java EE application servers, including an EJB container

    and all the other features of that stack. On the other hand, Tomcat has a lighter memory footprint (~60-70 MB), while those Java EE servers weigh in at

    hundreds of megs. Tomcat is very popular for simple web applications, or applications using frameworks such as Spring that do not require a full Java EE server.

    Administration of a Tomcat server is arguably easier, as there are fewer moving parts.

    However, for applications that do require a full Java EE stack (or at least more pieces that could easily be bolted-on to Tomcat)... JBoss and GlassFish are

    two of the most popular open source offerings (the third one is Apache Geronimo, upon which the free version of IBM WebSphere is built). JBoss has a larger

    and deeper user community, and a more mature codebase. However, JBoss lags significantly behind GlassFish in implementing the current Java EE specs.

    Also, for those who prefer a GUI-based admin system... GlassFish's admin console is extremely slick, whereas most administration in JBoss is done with a

    command-line and text editor. GlassFish comes straight from Sun/Oracle, with all the advantages that can offer. JBoss is NOT under the control of Sun/Oracle,

    with all the advantages THAT can offer.

    2、选型: 

      主要根据业务需求和应用规模来确定,如果仅仅是简单web应用,不需要支持EJB或者JMS等特性的,选择简单易用的Tomcat即可。

    如果需要更多的J2EE个特性,比如EJB建议选择Glassfish这种全功能的服务器。

      关于JBOSS和Glassfish,建议选择Glassfish,因为官方出品,实现当前Java EE更及时。

  • 相关阅读:
    优先队列
    Problem W UVA 662 二十三 Fast Food
    UVA 607 二十二 Scheduling Lectures
    UVA 590 二十一 Always on the run
    UVA 442 二十 Matrix Chain Multiplication
    UVA 437 十九 The Tower of Babylon
    UVA 10254 十八 The Priest Mathematician
    UVA 10453 十七 Make Palindrome
    UVA 10163 十六 Storage Keepers
    UVA 1252 十五 Twenty Questions
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/7596859.html
Copyright © 2011-2022 走看看