概述

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

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

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

Web服务器

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

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

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

Apache

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

Nginx

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

应用程序服务器

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

Tomcat

Tomcat仅是个HTTP服务器,以及Servlet/JSP API的执行器,也就是所谓的servlet容器,不支持EJB,JMS。

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

JBOSS

JBOSS是开源应用服务器,JBOSS与Tomcat不同,它提供了更多开箱即用的功能特性,也更重,它完整的实现了J2EE 6。

那么应该怎样选择Tomcat或者是JBOSS,如果对大企业来说,JBOSS提供了额外的如下功能:

  1. JMS messaging for asynchronous integration
  2. Web Services engine (JAX-WS and/or JAX-RS)
  3. Management capabilities like JMX and a scripted administration interface
  4. Advanced security, e.g. out-of-the-box integration with 3rd party directories
  5. EAR file instead of "only" WAR file support
  6. all the other "great" Java EE features I can't remember :-)

Glassfish

Oracle开发的官方Java容器,支持最新的特性,有自己的web容器(不是tomcat)。

选型

主要根据应用的规模和需求来确定,如果仅仅是简单应用,不需要支持负责的EJB或者JMS等特性,选择简单易用的Tomcat是一个好选择。如果需要更多J2EE的特性,则需要考虑使用Jboss这种全功能服务器了。

Tomcat,Jboss,Glassfish等web容器比较选型的更多相关文章

  1. Tomcat Jboss Glassfish 三种常见web容器比较

    一.缘由: 新公司平台是纯Java架构,有用到Java Web(JSP).Java 业务(EJB).Nginx..Websphere MQ.Mysql这样.大家知道java是跑在容器里的, 这里的业务 ...

  2. Geronimo tomcat: 在 Apache Geronimo 插件体系中将 Apache Tomcat 这个优秀的 Web 容器整合至其中

    Apache Geronimo 灵活的插件体系将 Tomcat, OpenJPA, OpenEJB, ActiveMQ 等第三方组件集成至其中.本文从多角度介绍了在 Apache Geronimo 中 ...

  3. 各种jee服务器的比较,tomcat, jboss, glassfish, websphere, weblogic

    tomcat, 开源,只是一个 servlet jsp 容器. jboss, 开源,是一个j2ee 应用服务器,容器支持 servlet, jsp, ejb,jms等. 稳定且实现了全部j2ee ap ...

  4. tomcat web容器工作原理

    Tomcat的模块结构设计的相当好,而且其Web 容器的性能相当出色.JBoss直接就使用了Tomcat的web容器,WebLogic的早期版本也是使用了Tomcat的代码.Web容器的工作过程在下面 ...

  5. Spring Cloud Gateway 不小心换了个 Web 容器就不能用了,我 TM 人傻了

    个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判.如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 i ...

  6. 三、spring boot 1.5.4 web容器定制(端口号等修改)

    spring boot 默认采用tomcat作为嵌入的web容器 定制方式有三种 1. 2.如下 @Component public class CustomizationBean implement ...

  7. 几种常见web 容器比较 (tomcat、 jboss 、resin、 weblogic、 websphere、 glassfish)(转)

    点击打开PDF下载链接 web 容器比较 tomcat jboss resin weblogic websphere glassfish 1. Tomcat是Apache鼎力支持的Java Web应用 ...

  8. web容器(weblogic、resin、tomcat、jboss对比)

    WebLogic 12c Linux静默安装 weblogic11g 密码忘记解决方案 glassfish和tomcat各自的优势和劣势 Linux Resin4.0 安装配置(优质) 对比 . we ...

  9. tomcat、weblogic、jboss的区别,容器的作用

    一.tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,它是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心 ...

随机推荐

  1. c3p0 --1

    # # This file is detritus from various testing attempts  # the values below may change, and often do ...

  2. poi excel文件上传并解析xls文件

    1.jsp页面 <form action="hw/pe_xls_upload" method="post" enctype="multipart ...

  3. c#实现串口操作 SerialPort

    命名空间:using System.IO.Ports;该类提供了同步 I/O 和事件驱动的 I/O.对管脚和中断状态的访问以及对串行驱动程序属性的访问. 操作类声明: SerialPort sp = ...

  4. LCS最长公共子序列(最优线性时间O(n))

    这篇日志主要为了记录这几天的学习成果. 最长公共子序列根据要不要求子序列连续分两种情况. 只考虑两个串的情况,假设两个串长度均为n. 一,子序列不要求连续. (1)动态规划(O(n*n)) (转自:h ...

  5. $("#id a") - $("#id .c a") = ?

    前沿 这是之前淘宝的一道面试题,题目借用了 jQuery 选择器的语法.大概的意思是,从 #id 元素内选出所有不是 .c 后代的 a 元素,即父元素 #id 内的所有后代元素中,选出不是 .c 后代 ...

  6. $headers = $this->input->request_headers();返回请求头(header)数组

    请查看:CI中的输入类部分 建议用第一个 $headers = $this->input->request_headers() $this->input->request_he ...

  7. (转)Android: NDK编程入门笔记

    转自: http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html 为何要用到NDK? 概括来说主要分为以下几种情况: 1. 代 ...

  8. java for循环的几种写法

    J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象.本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类 ...

  9. Log4net学习

    转自:http://www.cnblogs.com/sirkevin/archive/2012/06/13/2548449.html Log4net简介根据日志类别保存到不同的文件,并按照日期生成不同 ...

  10. hdu1715

    http://acm.hdu.edu.cn/showproblem.php?pid=1715 模板大数: #include <stdio.h> #include <string.h& ...