如何在PHP页面中包含JSP

时间:2010-06-24 13:24:32

标签: php jsp

我希望在PHP模板中包含JSP包含java代码的文件。这两个包含的问题是头文件和页脚文件。任何人有这样做的经验吗?我们正在考虑只是做一个HTTP请求来独立地从JSP文件中获取生成的HTML,但不确定这样做是否会有轻微的性能问题。

有没有更好的解决方案使用Apache中的一些工具来执行此操作?

4 个答案:

答案 0 :(得分:10)

echo file_get_contents('http://full/link/to/jsp/page');

如果JSP页面回显了标题,正文结构,则需要将其删除。您可以从JSP端或PHP中执行此操作。

在某些系统上已禁用该功能,因此您可能需要使用cURL(它还允许您回发在使用表单时可能需要执行的操作)。

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_URL, 'http://full/link/to/jsp/page');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
echo curl_exec($ch);

答案 1 :(得分:2)

您不能将JSP页面包含在PHP页面中。

您可以按照自己的想法行事:执行HTTP请求以从JSP获取HTML内容并将其嵌入到PHP结果中。不漂亮,但会奏效。

答案 2 :(得分:0)

Java / PHP Integration扩展名,但它不允许编译Java代码。如果没有执行命令行命令,我认为没有办法从PHP编译Java。

答案 3 :(得分:0)

根据您的要求,如果您不想影响页面加载,您还可以执行 AJAX 请求,以便在加载HTML页面后获取内容,并将其注入页面:这会将问题转移到客户端。

这个JSP页面是否经常更改,还是依赖于PHP页面的参数(某种广告)?

您还可以缓存 JSP的输出(甚至通过参数)一两个小时或一整天,以避免在每个请求上调用页面。