我有一个运行多个应用程序的Tomcat 6服务器,在其中一个应用程序中,JSP引用ColdFusion项目中的链接。在生产中我们有Apache设置将DocumentRoot更改为ColdFusion webroot,但是因为我们只运行Tomcat,所以我不能这样做(即我们的系统没有httpd.conf或apache2.conf文件)。我尝试在上下文文件中设置docBase以指向ColdFusion项目webroot,但这不起作用,所以我在tomcat webroot中设置了符号链接。这正确链接到页面,但它不显示页面,而是显示ColdFusion代码。
我没有使用ColdFusion的经验,除了通过Admin界面将设置更改为指向我想要的数据库。
Tomcat webroot:
webapps/ (tomcat webroot)
cfProject/www/ (ColdFusion webroot)
otherProject/pages/*.jsp
任何人都可以帮助我吗?如果您需要更多信息,我会尽快更新问题。
更新:ColdFusion版本:9
UPDATE:删除了应用程序设置和符号链接的上下文,但ColdFusion源仍在输出并显示在页面上,而不是正在运行的代码并显示结果。
更新:我已经安装了apache2并将其链接到tomcat,它现在正确连接到ColdFusion并从JSP页面加载所有.cf文件,但ColdFusion页面仍然以纯文本显示。似乎通过ProxyPass重定向的coldFusion页面正在工作,但DocumentRoot位置的那些页面不起作用。如果我搞清楚会更新。
更新:最后工作了,我必须小心ProxyPass规则的顺序,所以一旦我整理出来并给tomcat和apache重新启动,页面就会正确启动。感谢Peter的所有投入。
提前致谢, 阿列克谢蓝。
答案 0 :(得分:1)
最后我安装了Apache2并设置了代理ajp以连接到我在端口80上侦听的Tomcat应用程序.Tomcat有一个连接器可以自动执行此操作,因此我没有任何问题。然后,在启用了站点的默认虚拟主机中,我将DocumentRoot更改为指向ColdFusion项目的基础。 (不确定这是否需要,但不会受到伤害)。然后,在默认虚拟主机内部,我添加了ProxyPass规则以将不同的URL连接到ColdFusion。困扰我一段时间的一点是添加了一个指向根URL的规则:
ProxyPass / /ColdFusion/www
因为ProxyPass规则都被处理了,所以它弄乱了导致找不到页面等的URL。一旦我修复了这个并重新启动,我就被排序了。
再次感谢彼得的帮助。