web容器和web服务器区别关系_java中间件有哪些

web容器和web服务器区别关系_java中间件有哪些目录Web服务器中间件容器总结Web开发的选择我们经常会被Web服务器、Web容器和Web中间件这三个概念搞混。因为我们常见的很多网站要么是由IIS搭建,要么是由Apache、Tomcat、Ngnix搭建。所以,我们会把他们都叫成是Web服务器,因为他们都提供了Web服务,可以让我们通过http协议访问到。但是又有很多地方会说Tomcat是Servlet容器,而又有很多地方…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

目录

Web服务器

中间件

容器

总结

Web开发的选择


我们经常会被Web服务器、Web容器和Web中间件这三个概念搞混。因为我们常见的很多网站要么是由IIS搭建,要么是由Apache、Tomcat、Ngnix搭建。所以,我们会把他们都叫成是Web服务器,因为他们都提供了Web服务,可以让我们通过http协议访问到。但是又有很多地方会说Tomcat是Servlet容器,而又有很多地方会说Tomcat是Web中间件!那么,他们到底是Web服务器还是容器,还是Web中间件呢???

怀着这个问题,我查遍了网上所有的资料,终于把这几个概念好好的整理了一下。

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

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服务器:IIS、Apache、Nginx、Tomcat、Jboss、Jetty、Weblogic、Webshere、Glasshfish、Lighttpd等
web中间件:Tomcat、Jboss、Jetty、Weblogic、Webshere、Glasshfish等
web容器:IIS(asp容器)、Tomcat(servlet容器)、Jboss(EJB容器)

Jetbrains全家桶1年46,售后保障稳定

所以应该是  web服务器>web中间件>web容器

Web开发的选择

  • 一般本地开发的话,小项目,或者是个人开发建议的话,php使用apache、asp使用IIS、jsp使用tomcat
  • 大型的项目就用 jboss 或 webloigc
  • 大项目或者商业项目一般采用:weblgoic/webshere,其他的还有 jboss、glasshfish 等

相关文章:Web中间件

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215502.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • keil MDK5搭建STM32开发环境

    keil MDK5搭建STM32开发环境1.安装keil到keil的官方网站http://www.keil.com/download/product/下载MDK-ARM并安装,注意可以更改安装路径,但是不能安在需要管理员权限的文件夹,例如不能在ProgramFiles,否则会出现一些问题。2.注册未注测有代码容量限制,需要破解。网上找KEIL_Lic。3.安装器件包打开PackInstaller左边选择STMicro

    2022年5月10日
    78
  • LED灯上的ASEMI整流桥MB10F怎么检测是否正常

    LED灯上的ASEMI整流桥MB10F怎么检测是否正常编辑-Z我的LED灯盘上有一个桥式整流桥,它的型号是:MB10F,那么什么是整流,整流是做什么的?LED灯上的ASEMI整流桥MB10F怎么检测是否正常?整流电路就是将交流电转换成直流电。为什么要将交流电转换为直流电?说白了就是负载需要直流电才能工作,比如我们常见的直流电机、电解电源、手机等。型号:MB10F封装:MBF-4(SOP-4)特性:小方桥、贴片桥堆、超薄体电性参数:1A1000V芯片材质:GPP正向电流(Io):1A芯片个数:4正向电压(VF)

    2022年8月24日
    7
  • QCustomPlot 官方文档学习1

    QCustomPlot 官方文档学习1      用一些实例来作为QCustomPlot学习的指南,如果用QtCreater提升一个Widget,就能够通过 ui->customPlot或者其他的名字访问各个Widget;Youcancreateanewgraphintheplotvia customPlot->addGraph().Thenyouassignthegraphsome…

    2022年10月16日
    2
  • Android官方文档翻译-Broadcasts

    Android官方文档翻译-Broadcasts原文链接:https://developer.android.com/guide/components/broadcasts.html广播Android应用可以向Android系统和其他Android应用发送或从它们那接收广播消息,这类似于发布-订阅设计模式。当需要关注的事件发生时这些广播就会发送出去。例如Android系统在许多系统事件发生时会发送广播,比如当系统启动或设备开始充电时。应用也可以发

    2022年6月26日
    31
  • 矩阵论投影变换_分块矩阵的行列式公式

    矩阵论投影变换_分块矩阵的行列式公式概述:什么是投影?计算机显示器是一个二维表面,所以如果你想显示三维图像,你需要一种方法把3D几何体转换成一种可作为二维图像渲染的形式。那也正是投影做的。拿一个简单的例子来说,一种把3D对象投影到2D表面的方法是简单的把每个坐标点的z坐标丢弃。

    2022年10月4日
    2
  • QT QMap 使用方法实例

    QT QMap 使用方法实例QTQMap使用方法,直接上例子,请仔细体会。

    2022年5月30日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号