Tomcat是Sun的JSWDK(JavaServer Web Development Kit)中Servlet的运行环境(servlet容器)。Tomcat的源代码被提供给Jakarta项目,在Open Source的模型下进行进一步的开发。Tomcat是一个Server容器,同样的,EJB运行在EJB的容器中。
Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。Apache服务器拥有以下特性:
支持最新的HTTP/1.1通信协议
拥有简单而强有力的基于文件的配置过程 等等。
通过第三方模块可以支持Java Servlets
当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上tomcat部分是apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与apache独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache为.html页面服务,而tomcat实际上运行.jsp页面和servlet。
------
到目前为止 我是这么认为的: tomcat是支持jsp解析的servlet容器,它也自带了web服务器的功能, weblogic和tomcat差不多;
Apache/ IIS是web服务器。Apache可以跨平台,性能不错,但不支持jsp/ servlet , tomcat 可以跨平台性能不如Apache但支持jsp/ servlet 。
我的理解是:Apache是web服务器, tomcat 本质应该属于(java)应用服务器,支持jsp/ servlet,只是现在tomcat 中提供了简单的web服务器功能。
J2EE体系结构就是这么画的:客户端《——》Web服务器《——》应用服务器《——》数据库服务器;实jboss使用的servlet容器就是tomcat。
如果你访问的网页只有象HTML这种页面的,用WEB服务器就够了,但是如果是JSP,也就是含JAVA代码的HTML,则就需要JAVA应用服务器了,因为只有JAVA应用服务器才能解析JSP里的JAVA代码,并将解析结果以HTML的格式返回给你。