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

2024-06-22 05:38

本文主要是介绍web容器 web服务器 servlet/jsp容器 之间的区别和关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Web服务器(软件):

Apache http server, 这个它的网址,http://httpd.apache.org/download.cgi#apache24,实现的是HTTP协议,提供的是静态网页服务。

替代者有Nginx

Web容器:

tomcat, http://tomcat.apache.org/whoweare.html, 实现的是JSP,Servlet,提供了环境让JSP在里面被编译,被执行。

提供了动态网页服务。但同时也能提供静态网页的解析服务,与前者有集成,但功能不及前者。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. Web浏览器除了可以在本地硬盘上打开网页文档外,还可以使用http网络协议从网络上的Web服务器
(也叫www服务器)上获取网页文档的内容。
2. Web浏览器与Web服务器分别代表着TCP网络程序的客户机和服务器。
3. 无论网站规模的大小,最起码的工作就是要在用做Web服务器的计算机上安装某种Web服务器软件。只
要在一台计算机上安装了Web服务器软件,从功能上讲,这台计算机就可以成为Web服务器。Web服务器
包括硬件即计算机和软件即Web服务器软件两层意思。目前有两种Web服务器软件:IIS和Apache,
但是它们都不直接支持Servlet和Jsp程序。要想在这些Web服务器软件中运行Servlet和Jsp,还必须将它们
与某种Servlet和Jsp容器(引擎)进行集成。
4. Tomcat是Sun公司推荐运行的Servlet和Jsp容器,它可以被集成到IIS和Apache中。Tomcat也具有Web服
务器的一些基本功能,仅基本功能而已。对于一般的Web应用,我们可以直接将Tomcat作为Web服务器软
件运行。
5. 在J2EE平台中,有Servlet和Jsp容器,EJB容器等容器。
6. Servlet容器的主要任务是管理servlet的生命周期。而Web容器,它是来管理和部署 Web应用的,个人
认为Web容器包括Web服务器和Servelt、Jsp容器两层意思。当然,Tomcat可被认为是Sevlet容器、Web
容器,也具有Web服务器软件一般的功能
服务器:广义上讲有很多的概念,硬件角度上说就是一台高性能的Computer。我们通常指的服务
器其实应该是装有能够处理具体请求事务的服务器软件的Computer。比如最常见的www服务器、mail服务
器、计费服务器、ftp服务器等等。很多时候人们常把诸如Tomcat、IIS、Weblogic 也称之为web服务器
这对初学者很容易造成混淆,其实这些只是用于开发、集成、部署和管理Web应用、网络应用和数据库应
用的应用服务器软件
web容器:通俗的讲web容器就是能够支持发布web程序的软件
b/s结构下,以常见的自来水供水系统为例来说,整个web系统好比完整的供水系统,用户只需要有水龙头
(Broswer),水管相当于计算机网络(network),自来水公司的供水系统(即Server),其中的压力水罐
就是容器(Container)了。
servlet容器的主要任务是管理servlet的生命周期。有一种服务器叫做应用服务器,它的功能比web服务器要强大的多,因为它可以部署EJB应用,可以实现容器管理的事务,一般的应用服务器有weblogic和websphere等,它们都是商业服务器,功能强大但都是收费的。web容器最典型的就是tomcat了,Tomcat是web容器也是servlet容器。

web容器好比 电视机

servlet容器好比 VCD

没有VCD你可以看电视,对吧,但是有了VCD没有电视机,你从哪看起?:)

没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示jsp/servlet,你就要安装一个servlet容器了,但是光有servlet容器是不够的,因为它要被解析成html输出,所以你仍需要一个web容器。

但是,注意 我说 但是,

大多数servlet容器同时提供了web容器的功能,也就是说大多servelt可以独立运行你的web应用。

这篇关于web容器 web服务器 servlet/jsp容器 之间的区别和关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083437

相关文章

hevc和H.264格式的区别

HEVC(High Efficiency Video Coding)和H.264(也称为Advanced Video Coding,AVC)都是视频压缩标准,但它们之间存在一些显著的区别,主要集中在压缩效率、资源需求和兼容性方面。 压缩效率 HEVC,也被称为H.265,提供了比H.264更高的压缩效率。这意味着在相同的视频质量下,HEVC能够以大约一半的比特率进行编码,从而减少存储空间需求和

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

Java面试题:通过实例说明内连接、左外连接和右外连接的区别

在 SQL 中,连接(JOIN)用于在多个表之间组合行。最常用的连接类型是内连接(INNER JOIN)、左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN)。它们的主要区别在于它们如何处理表之间的匹配和不匹配行。下面是每种连接的详细说明和示例。 表示例 假设有两个表:Customers 和 Orders。 Customers CustomerIDCus

LeetCode11. 盛最多水的容器题解

LeetCode11. 盛最多水的容器题解 题目链接: https://leetcode.cn/problems/container-with-most-water 示例 思路 暴力解法 定住一个柱子不动,然后用其他柱子与其围住面积,取最大值。 代码如下: public int maxArea1(int[] height) {int n = height.length;int

通过SSH隧道实现通过远程服务器上外网

搭建隧道 autossh -M 0 -f -D 1080 -C -N user1@remotehost##验证隧道是否生效,查看1080端口是否启动netstat -tuln | grep 1080## 测试ssh 隧道是否生效curl -x socks5h://127.0.0.1:1080 -I http://www.github.com 将autossh 设置为服务,隧道开机启动

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

【服务器运维】CentOS6 minimal 离线安装MySQL5.7

1.准备安装包(版本因人而异,所以下面的命令中版本省略,实际操作中用Tab自动补全就好了) cloog-ppl-0.15.7-1.2.el6.x86_64.rpmcpp-4.4.7-23.el6.x86_64.rpmgcc-4.4.7-23.el6.x86_64.rpmgcc-c++-4.4.7-23.el6.x86_64.rpmglibc-2.12-1.212.el6.x86_64.r

【服务器运维】CentOS7 minimal 离线安装 gcc perl vmware-tools

0. 本机在有网的情况下,下载CentOS镜像 https://www.centos.org/download/ 1. 取出rpm 有的情况可能不需要net-tools,但是如果出现跟ifconfig相关的错误,就把它安装上。另外如果不想升级内核版本的话,就找对应内核版本的rpm版本安装 perl-Time-Local-1.2300-2.el7.noarch.rpmperl-Tim

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开