如何在PHP页面中包含JSP

如何在PHP页面中包含JSP,php,jsp,Php,Jsp,我希望在PHP模板中包含包含java代码的JSP包含文件。这两个文件包括头文件和脚文件。有人有这样做的经验吗?我们正在考虑只做一个HTTP请求,独立地从JSP文件中获取生成的HTML,但不确定这样做是否会有轻微的性能问题 有没有更好的解决方案使用Apache中的一些工具来执行此操作?您不能将JSP页面包含到PHP页面中 不过,您可以做您想做的事情:执行HTTP请求从JSP获取HTML内容,并将其嵌入PHP结果中。不太漂亮,但可以工作。有扩展,但不允许编译Java代码。如果不执行命令行命令,我不认

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


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

您不能将JSP页面包含到PHP页面中

不过,您可以做您想做的事情:执行HTTP请求从JSP获取HTML内容,并将其嵌入PHP结果中。不太漂亮,但可以工作。

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

echo file_get_contents('http://full/link/to/jsp/page');
若您的JSP页面回显了一个标题、主体结构,则需要将其去掉。您可以从JSP端或PHP端执行此操作

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


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

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

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

$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);