apache与tomcat
一、apache
apache是一个基金会,一个组织,旗下有许多项目,apache和tomcat分别是它的两个项目。
apache服务器提供了Http服务,URL转发和静态网页解析等功能,其中apache静态网页解析功能要比tomcat的静态网页解析功能强大很多。
它不负责具体服务器端脚本的解析任何。比如php/perl/jsp等要有专门的解析器解析相应的语言。
二、tomcat(也叫apache tomcat)
tomcat也是apache组织开发维护的,它主要负责jsp的解析,能将jsp语言转成servlet。servlet处理完后再将结果返回。当然,它也有处理静态网页的功能和http服务等功能,但是这部分功能完全没有apache的速度快。apache是基于C++开发的,tomcat是基于java开发的。可以说他们各有优势。
如果学习使用,只安装tomcat即可。如果是企业级应用,则需要安装apache和tomcat两个服务器。其中,apache用来处理Http服务,URL转发和静态网页处理。tomcat负责jsp的解析。过程是:apache接收到http服务请求,遇到静态网页,处理静态网页,遇到动态网页,将动态网页部分转给tomcat处理,tomcat收到jsp和java代码后,将其交给servlet处理,然后返回结果给apache,apache再将结果返回给客户端。
三、servlet
servlet是位于Web服务器内部的java应用程序,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。也就是说servlet是Web服务器端的一个小程序,这个小程序用来处理jsp和java程序。实质是:对于一份jsp文件A.jsp,tomcat会将其解析成一个对应的java文件A_jsp.java,而这个A_jsp类继承于 org.apache.jasper.runtime.HttpJspBase基类,HttpJspBase实现了HttpServlet接口。可 见,JSP在运行前首先将编译为一个Servlet,这就是理解JSP技术的关键。
servlet规范的下载地址是:http://jcp.org/aboutJava/communityprocess/final/jsr315/index.html