Tomcat是应用服务器还是Web服务器?
Tomcat本质上是一个容器,专门用来运行Java程序的。更准确地说,它是JSP和Servlet的容器。虽然Apache通常被定义为WEB服务器,但Tomcat的作用更接近于应用层面的处理,它负责执行Java代码,而不仅仅是像传统WEB服务器那样处理静态页面。
Tomcat本质上是一个容器,专门用来运行Java程序的。更准确地说,它是JSP和Servlet的容器。虽然Apache通常被定义为WEB服务器,但Tomcat的作用更接近于应用层面的处理,它负责执行Java代码,而不仅仅是像传统WEB服务器那样处理静态页面。
说Tomcat是应用服务器其实也不算错,但它和Websphere、WebLogic那种重型EJB容器比,又轻量得多。最精准的说法是它是个Servlet/JSP容器。平时我们说Web服务器,通常指能处理HTTP请求并返回静态资源的,像Nginx或Apache HTTPD。Tomcat主要干的是动态内容的执行。很多小项目直接把Tomcat当Web服务器用,是因为它内置了HTTP处理功能,但这属于“一肩挑”,并不改变其核心定位。
很多人会混淆这两者。其实Tomcat更偏向于应用服务器(JavaEE容器),虽然它能提供Web服务,但核心能力在于运行Servlet和JSP。静态资源处理它不如Nginx或Apache httpd高效,所以通常架构里它们是一起配合使用的。