是tomcat = apache(或其他Web服务器)+ JavaEE?

时间:2019-03-29 09:42:06

标签: java tomcat java-ee webserver httpserver

因此,我了解服务器有两种,第一种是Web服务器(或http服务器),例如nginx,apache,caddy,另一种是应用程序服务器,例如tomcat,undertow。我只是想知道Java应用服务器是否等于一般的Web服务器加上j2ee环境?又或者事情不是那么简单,除了混合Java环境外,应用服务器还做了很多事情?

2 个答案:

答案 0 :(得分:1)

Http服务器仅实现Http标准:这意味着接受Http request并发送Http response
支持php和其他通过插件添加的语言(apache等)。 原始的Http服务器仅支持静态资源,而仅支持静态资源。

但是在Java EE世界中,Http服务器也必须实现Java EE规范。 Java EE是一组规范。

如果Http服务器实现了所有规范,我们将拥有application server,例如 glassfish

如果Http服务器仅实现servlet和JSP规范,我们将提供servlet container(通常也称为Web服务器),例如 apache tomcat (来自apache基金会。它不是apache web服务器。服务器),码头。

任何与Java兼容的服务器都是原始的Http服务器,加上一些已实现的规范。

答案 1 :(得分:1)

作为一名经验丰富的Java开发人员,断言Tomcat与Web服务器和J2EE环境相同是令人讨厌的,因为在如何优化它们,它们在操作系统中所扮演的角色方面,有很重要的differences between Tomcat and Apache现代建筑,甚至它们的物理安装方式。

您可能是正确的...

话虽如此,您的主张实际上可能是正确的。从初学者(服务器端编程的新手)的角度来看,将Tomcat看作只是一台添加了许多神奇功能的Web服务器,即各种基于Java的API Java EE/Jakarta EE,这并不是完全错误的。内置其中。

实践中的Apache和Tomcat

Tomcat确实处理基于http的请求,并且它可以根据需要处理文件,因此可以承担双重责任。因此,从简单的角度来看,像这样思考Tomcat并非完全错误。只需记住,在现代体系结构中,Tomcat和Apache HTTP服务器的作用是非常不同的。

三层体系结构

这里是两个人如何在三层体系结构中共同发挥作用的视图:

Three tiered architecture