web服务器、容器和中间件

学习Java web技术时,总是容易被诸如web服务器、容器、中间件之类的概念弄混淆,导致理解上本来很清晰的思路一下变得模糊了,以下是通过网上搜索的资料整理的 一份对这几个概念的初步理解,便于后续深入的学习,相信只有对每一个概念进行了深入的学习和理解,模糊不清的东西才会变得清晰并最终融会贯通。

中间件

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

J2EE提出的背景:

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

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

目前常见的中间件角色:

  Apache的Tomcat、IBM公司的WebSphere、BEA公司的WebLogic、Kingdee公司的Apusic都属于中间件。并且中间件技术已经不局限于应用服务器、数据库服务器。围绕中间件,在商业中间件及信息化市场主要存在微软阵营、Java阵营、开源阵营。



容器

  充当中间件的角色

WEB容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,JSP容器和SERVLET容器。使JSP,SERVLET直接跟容器中的环境变量接口交互,不必关注其它系统问题。主要由WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。

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

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



web服务器(程序/软件)

  即:www服务器或http服务器。提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。向浏览器提供服务的程序。

目前常见web服务器:

  大型:Microsoft
IIS、IBM WebSphere、BEA WebLogic、Apache、Tomcat

  小型:nginx、 micro_httpd、mini_httpd、thttpd、 lighttpd、Shttpd

原文地址:http://blog.sina.com.cn/s/blog_643634b80101dapn.html

时间: 2024-07-30 14:49:37

web服务器、容器和中间件的相关文章

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

web服务器>web中间件>web容器 Tomcat(servlet容器)  是  Tomcat中间件  也是  Tomcat服务器 看了谢公子的csdn文章,让我彻底分清了这三者的区别. 因此我把这篇文章分享于此 : https://blog.csdn.net/qq_36119192/article/details/84501439 原文地址:https://www.cnblogs.com/-chenxs/p/11368017.html

web服务器、应用服务器、web容器、反向代理服务器区别与联系

我们知道,不同肤色的人外貌差别很大,而双胞胎的辨识很难.有意思的是Web服务器/Web容器/Web应用程序服务器/反向代理有点像四胞胎,在网络上经常一起出现.本文将带读者对这四个相似概念如何区分. 1. 一文看懂web服务器.应用服务器.web容器.反向代理服务器区别与联系 1.1. Web服务器概念与基本原理 1.1.1. Web服务器的历史 1.1.2. Web服务器工作原理 1.2. Web应用程序容器概念与基本原理 1.2.1. Web应用程序容器的由来 1.2.2. Web应用程序容器

Web服务器(Apache)与Servlet容器(Tomcat)

之前一直比较迷惑Apache与Tomcat的关系,通过查询资料,有所了解,现记录于此. Apache与Tomcat 两者定位:Apache是HTTP Web服务器,Tomcat是Web容器. 有一个非常形象的比喻:Apache是一辆车,可以装载静态的物件(HTML静态网页等):但不能装动态的水(JSP.CGI等),要装水就需要桶(容器),当然桶也可以不放在车上而单独存放,则该容器即为Tomcat. 两者的主要区别: Apache是世界上最流行的Web服务器(其次是微软的IIS),可以处理浏览器的

有关服务器,web 服务器,WEB容器的一点总结

所谓的服务器,广义上讲有很多的概念,硬件角度上说就是一台高性能的Computer.我们通常指的服务 器其实应该是装有能够处理具体请求事务的服务器软件的Computer.比如最常见的www服务器.mail服务 器.计费服务器.ftp服务器等等.很多时候人们常把诸如Tomcat.IIS.Weblogic 也称之为web服务器, 这对初学者很容易造成混淆,其实这些只是用于开发.集成.部署和管理Web应用.网络应用和数据库应 用的应用服务器软件. 那么web容器有该如何理解呢?通俗的讲web容器就是能够

容器、应用服务器和web服务器的区别

什么是容器 servlet没main()方法.它们受控于另一个java应用,这个java应用称为容器(Container)Tomcat是这样的容器,Web服务器应用(Apache)得到一个指向servlet请求时,服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器.要由容器向servlet提供HTTP请求和响应,而且要由容器调用servlet的方法. 客户-->请求--->Web服务器应用--->web容器应用--->servlet-------->

web容器 web服务器 servlet/jsp容器 之间的区别和关系是什么?

web容器 web服务器 servlet/jsp容器 之间的区别和关系是什么? 这是我在网上找的一些资料:1. Web浏览器除了可以在本地硬盘上打开网页文档外,还可以使用http网络协议从网络上的Web服务器(也叫www服务器)上获取网页文档的内容. 2. Web浏览器与Web服务器分别代表着TCP网络程序的客户机和服务器. 3. 无论网站规模的大小,最起码的工作就是要在用做Web服务器的计算机上安装某种Web服务器软件.只要在一台计算机上安装了Web服务器软件,从功能上讲,这台计算机就可以成为

web服务器中的容器以及工作流程

杂谈:项目到现在,已经有几个Phase过去了,杂乱的js,jsp,杂乱的action,代码已经是面目全非,更别提什么高内聚,低耦合这一说了.现在的工作状态是,要不就是绞尽脑汁地改以前留下来的巨坑bug,要不就是无聊地加各种if ,else增加新的需求.趁这段时间不忙,赶紧复习一下以前的知识,做做笔记,否则就只会写if else了. 容器相当于是一个代理的角色,请求和响应都需要容器的参与. #1,通信支持 利用容器提供的方法,你可以轻松的让servlet与web服务器进行通信,而不用创建serve

web容器 web服务器 应用服务器

1.Web Server,Web container和Application Server区别. Web Server,Web服务器,同上面所说,Web服务器是指能够为发出请求的浏览器提供文档的程序.服务器是一种被动程序,只有浏览器发出请求的时候才会响应.应用层使用的是HTTP协议.目前最主流的三个Web服务器是Apache Nginx IIS. Web容器是一种服务器程序,在服务器端口就有一个提供相应服务的程序.所以现在知道为什么Tomcat有默认的端口——8080.一个服务器可以有多个容器.

Web服务器(容器)请求常见的错误及其解决方法

首先我们来看看容器如何找到service()方法?(1)当在浏览器中输入 http://localhost:8080/firstweb/sayHi 这个地址后,容器是如何找到 HelloServlet.class这个文件并执行的呢?(2)首先容器会根据firstweb这个应用名找到位于webapps下面对应的文件夹, (3)然后根据地址中的“/sayHi”到web.xml文件中寻找与之匹配的<url-pattern>节点,找到匹配的节点后会找到与该节点紧邻的<servlet-name&g