Tomcat是一套开源软件,它由Apache Software Foundation(ASF)开发,用于实现Java Servlet和JavaServer Page (JSP)技术。
Tomcat是雄性猫的意思。在O‘Reilly的动物书中,猫已经被用作另一本书的封面。所以,Tomcat的O'Reilly书的封皮是雪豹(Snow Leopard):
猫咪变雪豹
Tomcat的功能
Tomcat的核心是一个Servlet Container。Servlet是一类特殊的Java对象,它工作于Web服务器,用于分析请求(request),并生成相应的回复(response)。Servlet Container用于启动和调用Servlet对象。当有HTTP请求进入到Web服务器时,Servlet Container会查找相应的Servlet,如果Servlet还不存在,那么Container需要创建对象。Servlet Container随后将请求的内容传递给Servlet,并将Servlet生成的回复发回给负责通信的服务器程序。
蓝色为请求,红色为回复
关于HTTP协议和Web服务器,可参阅协议森林 HTTP协议
Web服务器使用HTTP协议与客户直接通信。Tomcat自身包含有Web服务器的功能。你也可以使用其他的Web服务器,比如Apache服务器,以提供更强大的Web服务器。
Tomcat还有一个重要的功能,是处理JSP文件。JSP可以看做是一个高层的Servlet,它最终会被翻译成Servlet运行。我们用模板语言的方式来写JSP文件,这类似于PHP的编写方式。JSP文件中可以直接包含HTML元素。利用JSP技术,我们可以从Servlet中分离出视图,让JSP来负责页面的呈现方式,从而更好的实现MVC(Model-View-Control)。Tomcat中的Jasper模块负责JSP的翻译。