Java Web学习总结(27)——JavaEE中Web服务器、Web容器、Application服务器区别及联系

摘要:
我们经常听说Web服务器、Web容器、应用程序服务器,如html、css和其他静态资源可以由Web服务器本身处理;当遇到动态资源(jsp等)时,WebServer将请求传输到ApplicationServer。

在JavaEE 开发Web中,我们经常会听到Web服务器(Web Server)、Web容器(Web Container)、应用服务器(Application Server),等容易混淆不好理解名词。本文介绍对三者的理解,以及区别与联系,如果有不正确的地方还请指正。

Java Web学习总结(27)——JavaEE中Web服务器、Web容器、Application服务器区别及联系第1张

由上图可以看到一个标准的http处理流程:

  1. 首先通过Web Server 接受Http请求;
  2. 比如html、css等静态资源 Web Server 可自行处理;
  3. 当遇到动态资源(jsp等)时候Web Server 将请求转接至Application Server中,由Application Server处理;

Web服务器(Web Server)

Web Server 或者叫 HTTP Server ,主要用于操作Http请求,包括接受客户端的请求以及响应。它可以处理请求,也可以将请求转发至其他服务器。

代表: Nginx 、 apache 、 IIS

Web Server市场占有率如下

Java Web学习总结(27)——JavaEE中Web服务器、Web容器、Application服务器区别及联系第2张

应用服务器(JavaEE Application Server)

Application Server 具备了 Web Server 处理http请求的能力(但可能没有Web Server专业)同时也支持了JavaEE 技术比如JMS、DI、JPA、Transactions、Concurrency等,同时也包含了Web Container,如下图。

代表: Bea WebLogic , IBM WebSphere

Java Web学习总结(27)——JavaEE中Web服务器、Web容器、Application服务器区别及联系第3张

应用服务器可以选择使用上文所说的 WebLogic 和 WebSphere 这种重量级产品外,也可以使用类似与 Tomcat 、 jetty 这样的web containner 再加上第三方的框架(spring,hibernate等)来构建自己的 Application Server 。

JavaEE Application Server市场占有率

Java Web学习总结(27)——JavaEE中Web服务器、Web容器、Application服务器区别及联系第4张

组合应用

一个典型的JavaEE系统可以由两部分构成首先是Web Server 用于处理静态资源,然后是JavaEE Application Server 用于处理业务的动态资源。而这两部分可以是单独的服务器例如Nginx+WebSphere也可以在一个服务器上完成比如Tomcat(Tomcat即可以处理静态资源又可以处理动态的Servlet)。

Java Web学习总结(27)——JavaEE中Web服务器、Web容器、Application服务器区别及联系第5张

免责声明:文章转载自《Java Web学习总结(27)——JavaEE中Web服务器、Web容器、Application服务器区别及联系》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇rosdep update问题解决终极方法单机c/s软件如何让老板在异地看销售营业报表下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue实现文件夹的上传和下载

需求: 支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验; 内网百兆网络上传速度为12MB/S 服务器内存占用低 支持文件夹上传,文件夹中的文件数量达到1万个以上,且包含层级结构。 支持PC端全平台操作系统,Windows,Linux,Mac 支持文件和文件夹的批量下载,断点续传。刷新页面后继续传输。关闭浏览器后保留进度信息...

在Ubuntu Kylin 16.04 LTS 上源码方式安装odoo

更新Ubuntu服务器软件源 运行以下代码: sudo apt-get update  #更新软件源   sudo apt-get dist-upgrade  #更新软件包,自动查找依赖关系   sudo shutdown -r now  #重启服务器,以更新改变的内容    新建系统用户用于运行Odoo程序 运行如下命令创建系统用户: sudo...

Java邮件开发电子邮件的基本概念介绍

电子邮件用于网上的信心传递和交流,它是最重要的Internet服务之一。据统计Internet有30%的业务是电子邮件有关的。同时我们也不可否认它在我们的日常生活、工作办公方面扮演着很重要的角色。譬如:许多办公自动化项目(OA)中都要附带发送邮件的功能,如果还要使用OutLook等手工方式就不适合,在这个高速的时代,我们需要提供工作效率,让工作能够自动化。...

ubuntu学习笔记之安装oracle客户端

Oracle 为 Ubuntu 用户设立了专门的 apt 源服务器,只需要在 /etc/apt/source.list 中添加一行:deb http://oss.oracle.com/debian unstable main non-free即可。在运行 apt-get update 命令之前,还需要将该源服务器的公钥添加在本地 apt 系统的密钥库中。首...

集群Cluster介绍

来源:http://www.ibm.com/developerworks/cn/linux/cluster/lw-clustering.html简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一...

nginx配置反向代理示例

环境: nginx1:192.168.68.41 tomcat1:192.168.68.43 tomcat2:192.168.68.45 nginx安装网上很多教程,我是用yum安装的。 配置nginx: vim /etc/nginx/conf.d/default.conf  内容: #负责压缩数据流 gzip on; g...