目录

  • Web服务器
  • 中间件
  • 容器
    • web容器
    • EJB容器
  • 总结

Web服务器

广义的web服务器(Web Server):提供web服务的软件或主机,即Web服务器软件或装有Web服务器软件的计算机。例如:IIS、apache、nginx等。Web服务器可以处理 HTTP 协议,响应针对静态页面或图片的请求,进行页面跳转,或者把动态请求委托其它程序(它的扩展、某种语言的解释引擎(php)、Web容器)。

所以,我们可以把 IIS、Apache、Nginx、Tomcat等都称为Web服务器,因为他们都提供了web服务。

中间件

中间件(Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。容器就是中间件的一种。而Web中间件就是提供web应用软件和系统软件连接的软件的一个总称。

我们来看看J2EE提出的背景:

1、企业级应用框架的需求:在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块如果每次都由开发人员来完成的话,将会造成开发周期长和代码可靠性差等问题。于是许多大公司开发了自己的通用模块服务。这些服务性的软件系列统称为中间件。

2、
为了通用必须要提出规范,不然无法达到通用:在上面的需求基础之上,许多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务。从而产生瓶颈。于是提出标准的概念。其实J2EE就是基于JAVA技术的一系列标准。

并且中间件技术已经不局限于应用服务器、数据库服务器。围绕中间件,在商业中间件及信息化市场主要存在微软阵营、Java阵营、开源阵营。

所以说我们可以把Tomcat、Weblogic、Jboss等叫做Web中间件。

相关文章:Web中间件

容器

容器:容器是中间件的一种,作为操作系统和应用程序之间的桥梁,给处于其中的应用程序组件提供一个环境,使应用程序直接跟容器中的环境变量交互,而不必关注其它系统问题。
例如:tomcat(servlet容器),Jboss(EJB容器)。这些容器提供的接口严格遵守J2EE规范中的web application 标准。

web容器

web容器:我们把遵守J2EE规范标准的web服务器就叫做J2EE中的web容器。处理 web服务的容器,例如tomcat(servlet容器),IIS(asp容器)。web容器用于给处于其中的应用程序组件(ASP、JSP)提供一个环境,是中间件的一个组成部分,它实现了对动态语言的解析。比如tomcat可以解析jsp,是因为其内部有一个servlet容器。

EJB容器

EJB容器(Enterprise java bean ):更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。

WEB容器和EJB容器在原理上是大体相同的,更多的区别是被隔离的外界环境。WEB容器更多的是跟基于HTTP的请求打交道。而 EJB容器不是。它是更多的跟数据库、其它服务打交道。但他们都是把与外界的交互实现从而减轻应用程序的负担。例如servlet不用关心http的细 节,直接引用环境变量session,request,response就行、EJB不用关心数据库连接速度、各种事务控制,直接由容器来完成。

所以说,我们也可以把 IIS(asp容器)、Tomcat(servlet容器)、Jboss(EJB容器)等叫做Web容器

总结

对于这些名词,也并没有一个十分清楚的概念说这个就是属于这个,而不能属于那个。他们之间很多是包含关系。

中间件
参考:
web服务器、Web中间件和Web容器的区别

常见中间件介绍和分析相关推荐

  1. FindBugs常见错误介绍、分析、处理

    FindBugs简单了解 FindBugs-IDEA是个好东西,它是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程 ...

  2. 简单的DPDK介绍与分析

    DPDK介绍及分析 什么是DPDK Intel® DPDK 全称 __Intel Data Plane Development Kit__,是intel提供的数据平面开发工具集,为Intel arch ...

  3. LED常见失效案例及分析

    引言 LED(Light emitting diodes)产品在生产与使用过程中,往往容易因各种应力或环境等因素的影响,导致失效不良的产生,即发生LED失效. 针对LED产品发生的失效问题,主要集中于 ...

  4. 渗透测试-中间件解析漏洞分析

    中间件解析漏洞分析 文章目录 中间件解析漏洞分析 前言 一.什么是解析漏洞 二.解析漏洞基本原理以及利用实例 1. 解析漏洞基本原理及实例 总结 前言 一.什么是解析漏洞 文件解析漏洞主要由于网站管理 ...

  5. Db2数据库中常见的堵塞问题分析与处理方法

    Db2 数据库堵塞怎么办 作为一个数据库管理员,工作中经常会遇到的一个问题:当数据库出现故障的情况下,如何快速定位问题和找到解决方案.尤其是在运维非常重要系统的时候,解决问题恢复服务是分秒必争.Db2 ...

  6. Solr Cache使用介绍及分析

    本文将介绍Solr查询中涉及到的Cache使用及相关的实现.Solr查询的核心类就是SolrIndexSearcher,每个core通常在同一时刻只由当前的SolrIndexSearcher供上层的h ...

  7. mos 多路模拟电子开关_【原创】单火线智能开关技术介绍及分析

    文章来自电子星球APP--<单火线智能开关技术介绍及分析> 作者:leo.zhao 单火线智能开关的概念 众所周知,国内220V电网市电有两根线:一根火线和一根零线,此外为了保护人身安全有 ...

  8. Linux软件安装的几种常见方式介绍

    Linux上的软件安装有以下几种常见方式介绍 1. 二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2. RPM包 软件已经按照redhat的包管理工具规范RPM进行打包发布, ...

  9. 连接MySQL数据库时常见故障问题的分析与解决

    连接MySQL数据库时常见故障问题的分析与解决 初学的mysql网友好象经常会碰到mysql无法连接的错误.特开贴收集这样问题的现象和原因. 先自己扔块砖头出来. 归纳如下: 故障现象 : 无法连接 ...

最新文章

  1. 按拼音模糊匹配查询条件的生成类
  2. Postfix的bcc邮件备份
  3. 洛谷 - P3246 [HNOI2016]序列(莫队+单调栈)
  4. 判断当前所使用python的版本和来源
  5. Android之jni编译出现multiple definition of ‘××××ב
  6. 在ubuntu 12.04上安装tomcat 7.40
  7. ocx控件 postmessage消息会消失_APP控件之二——弹框
  8. VS(Visual Studio)自动创建的文件格式
  9. 将本地文件push到gitee上面
  10. C++汽车4S店管理系统
  11. 2018最新JAVA基础面试题和高级面试题
  12. 实现用python给微信指定联系人在指定时间发送消息(仅供学习)
  13. 卡塞格林光学系统_改进型卡塞格林光学系统的设计
  14. 如何利用计算机模拟分子生物学,利用计算机模拟研究氨基酸序列对于朊病毒分子间聚集的影响...
  15. 解决Java应用的后台错误:“操作符不存在: character varying = bytea“
  16. 零基础学C语言设计难吗,【经验分享】零基础想学C语言,过来人提醒大家几点...
  17. 华为交换机查看端口详细信息
  18. 【计算机网络】——体系结构
  19. kafka broker 进入 conflicted ephemeral node 死循环
  20. shell里面的jq

热门文章

  1. TI推出工业市场最强异构处理器AM57X 双核A15怕不怕
  2. 程序员的数学书籍(C C++篇)
  3. go get 下载的包放在哪里呢?
  4. 构建静态页面 之 [ 浮动 ]
  5. 故障案例 | 慢SQL引发MySQL高可用切换排查全过程
  6. 魔兽争霸III:冰封王座 1.17版问世
  7. buuctf crypto page 2
  8. 基于React + Antd 实现的斗兽棋web应用
  9. python复制excel模板并保留表格样式
  10. win10两个磁盘合并成一个?win10系统怎么合并磁盘