最近接触到应用服务器JBoss,此外JBoss Web与Tomcat也同为web服务器,便查阅资料对三者进行比较,供大家参考。

一、Tomcat

Tomcat 服务器是免费开源的Web 应用服务器。支持最新的Servlet 和JSP 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。  
       
Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,不过,Tomcat处理静态HTML的能力不如Apache服务器。另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式,基于Tomcat的开发其实主要是Jsp和Servlet的开发。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。
 
       
 Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。

二、Jboss

JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码并且免费的应用服务器。 
JBoss支持EJB 1.1,EJB 2.0和
EJB3.0的规范,它是一个管理EJB的容器和服务器。JBoss的目标是一个源代码开放的J2EE环境。但是JBoss核心服务仅是提供EJB服务器。JBoss4之前不包括Servlet/JSP的WEB容器,当然可以和Tomcat或Jetty绑定使用。JBoss4之后内嵌了web服务器。
       JBoss具有如下六大优点:
       1、JBoss免费,开源。 
       2、JBoss需要的内存和硬盘空间较小。 
       3、安装简单。先解压缩JBoss打包文件再配置环境变量就可以了。 
       4、JBoss能够"热部署",部署BEAN只是简单拷贝BEAN的JAR文件到部署路径下就可以了。如果没有加载就加载它;如果已经  加载了就卸载掉,然后LOAD这个新的。 
       5、JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。

6、用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。

三、JBoss Web

JBoss Web即JBoss Web服务器,
       JBossWeb服务器是一个新的开源项目,它将为JSP,Servlet技术,Microsoft
ASP.net,PHP和CGI提供一个独立,高性能的部署平台。JBossWeb构建在Apache Tomcat,APR(Apache
Portable Rumtime)和Tomcat native技术之上以达到稳定性和性能都能与Apache Http服务器相匹敌甚至是超越它。
       JBoss Web服务器具有以下特性:
        能够处理10,000多个并发连接数;
       支持http,https和AJP(Apache Jserv Protocol)协议;
       支持OpenSSL安全套接层;
       提供一个灵活的URL rewriting操作引擎支持无限个规则数和规则条件;

支持CGI和PHP脚本,ASP.NET应用程序的in和out-of-process执行等。

四、三者关系:

Tomcat是web服务器,因为能够处理HTTP请求和响应的可执行设备,所以称为web服务器,同时Tomcat可以管理小型服务程序(Servlet/jsp)生命周期(lifecycle),所以也成为Web/Servlet容器。
         应用程序服务器是指能够管理Web应用程序的技术构架。从某种意义上web服务器属于应用服务器的子集。

一般来说,Web服务器专门处理HTTP请求(request),而应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business

logic)。JBoss属于应用服务器,遵循J2EE规范,可以部署EJB应用,而Tomcat不能。JBoss4之前的版本不能处理Servlet和Jsp,需要与Tomcat(或其他web服务器)结合来使用,而JBoss4之后的版本已将Tomcat内嵌在其中,具备了web服务器的功能。

Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。
应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时有些应用服务器也支持Jsp和Servlet.而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用EJB等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat.

JBoss Web将Tomcat内核作为其Servlet容器引擎,并加以审核和调优。单纯的Tomcat性能有限,在很多地方表现有欠缺,如活动连接支持、静态内容、大文件和HTTPS等。 
        JBoss在Tomcat的基础上,对其进行本地化,将Tomcat 以内嵌的方式集成到 JBoss 中。
        JBoss
Web通过使用APR和Tomcat本地技术的混合模型来解决Tomcat的诸多不足。混合技术模型从最新的操作系统技术里提供了最好的线程和事件处理。结果,JBoss
Web达到了可扩展性,性能参数匹配甚至超越了本地Apache HTTP服务器或者IIS。譬如JBoss
Web能够提供数据库连接池服务,不仅支持 JSP 等 Java 技术,同时还支持其他 Web 技术的集成,譬如 PHP、.NET 两大阵营。
        与Tomcat 相比,JBoss Web在静态资源访问方面性能优越。JBoss Web支持两种组件模式——纯Java和Native I/O。  
        OpenSSL是业界最为快速和安全的开源传输组件,可借助操作系统和硬件的特性实现高效的安全承载。JBoss
Web集成了OpenSSL,可提供高效的安全传输服务,使得安全机制更上台阶。研究表明, JBoss
Web中的SSL性能比单纯的Tomcat快四倍。
        Tomcat 不具备URL重写功能,JBoss Web则可提供一个灵活的URL rewriting操作引擎,支持无限个规则数和规则条件。URL可被重写以支持遗留的URL错误处理,或应对服务器不时产生的其他问题。
        JBoss Web既可单独运行,也可无缝嵌入JBoss应用服务器,成为JBoss中间件平台的一部分。不仅后台服务调用的性能将得以提升,也可利用以下JBoss平台的特性提升Web应用功能  
         所以JBossWeb可以说是一款超级改良版的Tomcat,两者都是web 服务器,并都可与应用服务器JBoss完美结合。

Tomcat,JBoss与JBoss Web的更多相关文章

  1. Tomcat,Jboss,Glassfish等web容器比较选型

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

  2. [置顶] 将项目从tomcat 迁移到JBoss

    注:针对的是jboss5.0,其它版本没有测试过 ,主要参考了:http://www.diybl.com/course/3_program/java/javajs/20100719/460908.ht ...

  3. 在jboss上部署web应用

    1.JBoss介绍 JBoss完全实现了J2EE的服务栈: EJB (Enterprise JavaBeans) JMS (Java Message Service) JTS/JTA (Java Tr ...

  4. 我叫Tomcat:一款web服务器

    我叫Tomcat:一款web服务器 如何将我们的 Java 代码,运行在网络上,初学时,首先接触到的一般都是Servlet以及Jsp(或略过Jsp)而 Tomcat 就是这两者的容器,帮你处理动态网页 ...

  5. 运用Tomcat创建第一个web项目

    一.了解Web服务器软件 在部署tomcat前,先说一说web服务器软件是用来干什么的?简单来说,就是web容器,可以部署web项目,让用户通过浏览器来访问这些项目. 1.常见的javaweb服务器软 ...

  6. [java][jboss]改变jboss部署目录(虚拟目录)

    原文: [java][jboss]改变jboss部署目录(虚拟目录) 在开发过程中,有时候我们希望将程序放在我们的源代码目录中,比如d:\code下,而不是放在jboss的deploy下,怎么办? 我 ...

  7. Mac OS X上IntelliJ IDEA 13与Tomcat 8的Java Web开发环境搭建

    这标题实在有点拗口,不知道怎么写好,但看了标题也就明白文本的内容.最近几天在折腾这些玩意儿,所以写写总结.除了环境搭建,本文还是一篇入门级的上手教程. 去下载一些东西 JDK安装 Tomcat安装 T ...

  8. Linux(Centos)之安装tomcat并且部署Java Web项目

    1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图:          b ...

  9. 【转】Tomcat中部署java web应用程序

    http://www.blogjava.net/jiafang83/archive/2009/06/02/279644.html 转载:今天给大家介绍怎样在Tomcat5.5.9中部署Java Web ...

随机推荐

  1. java递归和反向递归

    1. 递归查询树tree结构有两种做法: 第一种,递归查询数据库结构, 第二种,一次性将数据库表中的所有数据查出来,然后再递归查出来的list集合, 第一种做法适合数据量较少的tree结构,因为要一直 ...

  2. AndroidPn推送测试

    服务器搭建好了之后,往客户端推送.按照里面自带的一个client,可以分别在模拟器和真机上分别测试,不过由于这个框架真的不是很完善,会遇到各种问题. (1) 其中还遇到了一个安卓模拟器的问题,启动模拟 ...

  3. spring注入是否会被回收

    在做jms的时候,调用到其他的接口来进行数据库操作. 如果不进行数据库操作的话,jms信息队列都是正常的.但是用的spring注入的接口进行操作的时候,当信息较多的时候,注入的这个接口会变成null. ...

  4. (zxing.net)解码

    //图片路径 string imgPath = @"D:\barcode.png"; //解码通用类 IBarcodeReader reader = new BarcodeRead ...

  5. vux 入门备忘大佬多指点

    一.安装node.js https://nodejs.org/en/ 这样就可以使用npm喽 二.安装vux 安装vux npm install vux --save 安装vux-loader npm ...

  6. Algorithm 用各种语言写出n!的算法

    写出n!的算法 C# 递归方式: class Program { static void Main(string[] args) { Console.WriteLine("请输入一个数!&q ...

  7. 异常测试之Socket网络异常

    本文由作者张雨授权网易云社区发布. 前言 不知道大家在测试的过程中有没有发现关于异常测试这样一个特点: 无论是分散在功能测试中的异常用例还是规模相对较大的专项异常测试中,异常测试的用例占比虽然不大但是 ...

  8. Day 48 HTML 语言Day1

    HTML文档结构 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&qu ...

  9. Day 12 作业.(完成)

    1,将装饰器的所有知识点总结完成,将这几天的作业再整理一遍,还是不会的,就抄代码,一遍不行就三遍,直到所有知识点,所有题都整明白. 2,有时间就画流程图,梳理知识点. 3,上面两项完成的写以下作业. ...

  10. 访问www.baidu.com后会发生什么(一次完整的网络通讯过程)

    1.在浏览器中输入www.baidu.com 这意味着浏览器要向百度发送一个网页数据包,要发送数据包,需要知道对方的IP地址,这里我们只知道网址为www.baidu.com,却不知道IP地址,此时应用 ...