使用tomcat很久了,但是对tomcat内部的理解以及很多基本知识都还是不太清楚,现在就根据自己在搜集的资料,对tomcat中间件进行总结。
(1)、总的来说,tomcat的身份可以看作一个WEB容器,但实际上是一个应用程序服务器。应用服务器处理业务逻辑,web服务器是用于处理HTML文件的。web服务器通常比应用服务器简单,如apache就是web服务器,Jboss就是EJB应用服务器。
为什么这么说?
1.因为你从tomcat内部看你会发现其实tomcat内置了一个轻量级的WEB服务器,用于转发html文件的请求;
2.从整个WEB流程来看,用户通过浏览器向WEB服务器请求,WEB服务器根据请求文件的后缀名来查找相应的应用程序服务器,例如用户请求一个.JSP文件,WEB服务器就看自己是否有这个应用程序服务器,如果没有,则把所有内容包括JSP代码都当成HTML发送到客户端浏览器;如果有这个应用程序服务器,则把文件传给应用程序服务器,让其处理相应的JSP代码之后再返回个WEB服务器,由WEB服务器在返回给客户端浏览器,通过这样一个流程,你也可以看到通过TOMCAT请求一个.JSP文件袋过程;
所以,tomcat是一个WEB容器,它内置了一个轻量级的WEB服务器,只用于转发请求,但实际上tomcat是一个轻量级的应用程序服务器(tomcat是不能带起来ecterprise的项目的,所以是轻量级的)。
开发Java WEB项目的时候,你只要搞明白其请求的流程:客户端浏览器——>WEB服务器——>应用程序服务器。
应用服务器:Weblogic、Tomcat、Jboss 等
WEB SERVER:IIS、 Apache
(2)、Apache服务器也就是www服务器,由于www采用HTTP协议所以又称为HTTP服务器,用于静态页面的解析;
(3)、Tomcat服务器是应用(Java)服务器,可以说是一个Servlet容器,可以认为是Apache的扩展,本身包含了一个HTTP服务器。但是可以独立于Apache运行,主要用于动态页面提供服务,可以将JSP编译成对应的Servlet,所以是web应用服务器。