容器理解之Tomcat和Apache的恩恩怨怨

2024-02-10 06:30

本文主要是介绍容器理解之Tomcat和Apache的恩恩怨怨,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面:
首先讲到web项目,可能更多的人会想到tomcat,一般我们做一些java web项目的时候,会经常用到这个,其实tomcat简单讲是一个中间件,web容器(你也可以理解为web应用服务器),他的目的主要是针对http请求和响应的。
tomcat核心作用
开启监听端口监听用户的请求,解析用户发来的http请求然后访问到你指定的应用系统,然后你返回的页面经过tomcat返回给用户。广泛应用在jsp,html,php,asp等。
简单举例
比如你在百度输入一行内容搜索,那么百度服务器如何处理这个请求呢?
他需要创建servlet来处理,servlet其实就是java程序,只是在服务器端的java程序,servlet通过配置文件拦截你的请求,并进行相应处理,然后展示给你相应界面,那么servlet如何创建? 这时候tomcat用到了,它就是帮助你创建servlet的东西,所以也称web容器,没有它,没法运行web项目。
说了这么多大家还是有点懵,肯定还有人问Apaches又是干什么的,那么问题就来了其实他们两个侧重方向不一。
Tomcat更侧重应用服务器,相当于apache的一个扩展,也可以脱离apache独立运行的。支持JSP和servlet .
Apache 是大的概念,web服务器,侧重于HTTP serveer只只支持html静态页面,对PHP,ASP,JSP动态页面就不行。

重点来了,联系生活

下面就举个实际例子给大家来理解吧。
Apache就是一辆大卡车,tomcat是一个水桶,html就好比砖头,jsp,php,asp好比是水。
在这里插入图片描述
那么就很清晰了Apache不好直接装水,但是可以装一些硬货,而tomcat也不是说一定要依赖apache,可以单独存在,其实水桶也是可以装砖头的,但是相对来说显得不那么合适。

但是人们经常就会将两个集合在一起,访问静态页面(html)的时候就直接用apache,可以减少tomcat的负担,解析动态(jsp,asp,php)的东西时候用tomcat,达到动静结合,资源合理分配。

那么刚才的例子也一样,水是动的,砖头的静的,如果你想要把水和砖头都放在一个运行环境中,你就会用水桶把水装好放车上,在把砖头也放车上,这样就可以做到资源空间合理分配应用啦。

我这样解析不知各位客官是否清晰了,喜欢的话麻烦给个小心心或者关注哈哟。

这篇关于容器理解之Tomcat和Apache的恩恩怨怨的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

spring IOC的理解之原理和实现过程

《springIOC的理解之原理和实现过程》:本文主要介绍springIOC的理解之原理和实现过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、IoC 核心概念二、核心原理1. 容器架构2. 核心组件3. 工作流程三、关键实现机制1. Bean生命周期2.

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

SpringBoot内嵌Tomcat临时目录问题及解决

《SpringBoot内嵌Tomcat临时目录问题及解决》:本文主要介绍SpringBoot内嵌Tomcat临时目录问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录SprinjavascriptgBoot内嵌Tomcat临时目录问题1.背景2.方案3.代码中配置t

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque