Linux+Apache+JSP原理

来源:百度文库 编辑:神马文学网 时间:2024/06/12 09:04:04

一:原理

tomcat是一个web应用服务器,能够解析静态文件和动态文件(如:html、jsp、servlet等);apache是一个web server,能够解析静态文件。Tomcat作为一个独立的web服务器是可以使用的,但是它对静态文件的解析能力不如apache,所以就产生现在的web应用的分布式部署,apache+tomcat。

两者之间的通信通过workers配置(由tomcat使用Server.xml中的Connector标签定义端口port和协议protocol,workers.properties文件中定义端口、协议、tomcat服务器地址);由mod_jk模块负责两者通信的处理。通信协议有很多,其中jk2已经被抛弃了,现在就用jk就好了。

整个过程其实就是让apache的httpd.conf文件调用mod_jk.conf,mod_jk.conf调用workers.properties,最后配置虚拟主机。


      Tomcat是apache上实现jsp+javabean环境的接口程式,集成jsp1.1和servlet2.2 。他提供一个独立的mod_jserv.so模块,利用apache的DSO动态载入,和早先的Jserver不同,Tomcat必须作为一个独立的程式运行,所有提交给apache的java请求将通过Tomcat自带的jserv模块提交给Tomcat进一步处理。就是说,必须先运行 
  Tomcat,再运行apache才能解释jsp/servlet程式。 
  非常多Tomcat的安装指南都把Tomcat和Jserv一起安装,我觉得没有这个必要。Tomcat和Jserv有何差别?Tomcat是Jserv吗?大家对他们之间的关系不是非常清晰明白。Jserv是Servlet API2.0兼容并和Apache一起使用的容器。Tomcat是个完全重写的并和Servlet API2.2和JSP1.1兼容的容器。这通过前面的说明也能看出来。Tomcat使用了一些为Jserv而写的代码,特别是Jserv的Apache接口,但这是唯一的相同之处.
  和resin相比,Tomcat更象是个正在研究的项目。resin早能支持sun的j2ee,而在tomcat v3.x不能直接支持,而j2ee是基于java服务器端大系统的基础。当然,在他的4.x版本中已有了改观。但tomcat结构非常合理,而且是apache组织和sun合作的产品,因此有着非常好的远景