apache与tomcat整合后,客户端访问静态页面是否需要tomcat处理?

tomcat可作WEB服务器,只是客户端如果访问服务器的静态资源时,在tomcat上整合apache会后会提高服务器的响应速度。

通过相应的配置,动态请求apache会分给tomcat处理,静态资源的请求apache自己处理。但在配置过程中,我对apache是如何去找tomcat下的静态资源方式不太清楚。如果apache直接去找tomcat下的静态资源,在配置文件中应该会有指向静态资源地址的路径;如果不是直接根据地址去找,那么我认为很可能是通过与tomcat通过然后访问的静态资源。如果是这样,就是说客户端访问静态资源时,需要tomcat参与,不知我的理解是否正确?

如果你的应用可以动静分离的话,那就好办了。

apache 和 tomcat 都支持自定义的目录。比如,你把 apache 的访问目录 指定到某个目录下,而 apache 生成静态文件的时候,生成到 apache 的访问目录即可。

当然,如果你不想把这两个目录放到一起也可以,那你需要到网上找一个目录同步的软件来对这两个目录的数据进行同步。这样,每当 tomcat 生成静态文件时,同步软件监控到这个目录有新文件时,就会自动把新的文件复制到 apache 的目录下。

如果你的配置正确的话,是不需要tomcat来处理的。你可以这样测试:

你通过 apache 访问动态、静态的页面,如果都正常,说明你的配置已经正确了。
然后,你单独把 tomcat 停掉,你会发现,访问静态页面依然没有问题,但访问 动态页面时出错了。

这样你就可以肯定,访问静态页面不需要 tomcat 了

我用的是 webspere + apache 可以通过,没有实际测试过 tomcat + apache。按理应该是一样的。

你的配置可能有问题。你确认在 apache 与 tomcat 的连接转发中,是把所有的 请求都转发给 tomcat 还是只是把 动态网页的内容转发给 tomcat ?

如果你把所有的请求都转发给 tomcat ,那静态网页自然也需要 tomcat 来处理了。

所谓apache处理静态网页,是指你在部署的时候,静态网页直接放到apache的部属目录下面,而不是通过apache到tomcat的桥来访问。如果是所有的东西还都放在tomcat下面,那么apache是累赘,没有必要的。又及,如果没有达到瓶颈,是不用apache+tomcat的,如果达到了,一般也是apache和tomcat分别部署在不同的机器上,比如一个apache带多个tomcat什么的。不知道楼主玩的是什么。

参考一下这个贴,看看他是怎么测试动态和静态的:

[url=http://www.iteye.com/topic/587533]Apache和Tomcat组合方式:mod_proxy[/url]

lz你需要阅读一下apache配置文档里面有关目录映射的部分。apache在这一部分相当灵活,你可以自由发挥。