博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
servlet入门学习之Web容器
阅读量:5220 次
发布时间:2019-06-14

本文共 1870 字,大约阅读时间需要 6 分钟。

一、web服务器

web服务器(程序/软件)

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

1、Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。

2、服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。

目前常见web服务器:

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

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

二、web容器

  web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器。

容器:充当中间件的角色

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不用关心数据库连接速度、各种事务控制,直接由容器来完成。

 

  1. Web 容器提供了运行servlet 所需的环境;
  2. 管理Servlet 的生命周期,它负责实例化、初始化、调用服务方法并从服务中移除servlet;
  3. 实现Servlet API;
  4. 它充当Web 服务器和Servlet 之间的桥梁;
  5. 将请求从Web 服务器转发到Servlet;
  6. 将响应从Servlet 转发到Web 服务器。

三、补充 中间件

中间件

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

J2EE提出的背景:

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

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

目前常见的中间件角色:

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

 

转载于:https://www.cnblogs.com/haimishasha/p/5611081.html

你可能感兴趣的文章
SAE/ISO standards for Automotive
查看>>
JSP数据交互二
查看>>
safari浏览器placeholder垂直居中
查看>>
【OpenCV】SIFT原理与源码分析
查看>>
MVC test
查看>>
开发规范
查看>>
bzoj3992 [SDOI2015]序列统计
查看>>
理解screenX clientX pageX概念
查看>>
01 day
查看>>
enableEventValidation
查看>>
函数基础三 -- 装饰器
查看>>
Linux基本操作命令
查看>>
Python基础 之for循环嵌套实例
查看>>
SpringBoot2.x 定时任务
查看>>
Linux笔记(六) - 压缩解压命令
查看>>
Red Hat Enterprise Linux Server 6.5安装gcc 4.9.2
查看>>
[The Diary] 11.2 Thursday
查看>>
Json
查看>>
c++ 学籍管理系统v 1.0
查看>>
如何在CentOS中开启Swap
查看>>