【发布时间】:2014-10-04 15:41:57
【问题描述】:
我遇到了一个特定的情况,当它们在同一个文档中时,我需要能够同时执行 php 和 jsp。我有一个 tomcat 服务器设置,java 网桥from here 配置正确。就其本身而言,.php 文档可以正常运行,.jsp 文档可以正常运行,但是当结合起来时,我得到了一个或另一个。
我已尝试将 .jsp 扩展名添加到 php javabridge servlet 映射:
<servlet-mapping>
<servlet-name>PhpCGIServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
但这只会导致 .jsp 文件中的 php 执行。我尝试将 .php 添加到 jsp servlet 映射
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>
但这只会导致 .jsp 文件中的 php 执行。有没有办法将 php 和 jsp 放在同一个文件中,并让它同时运行?下面是我的代码示例。请不要建议更改代码,因为这只是一个示例,并且因为我要测试的内容需要这两者在同一个文档中工作。我愿意接受“这不可能”的回答,但在用尽所有其他选项之前不会。
<?php
$value = 'this_is_the_cookie';
setcookie("TestCookie", $value);
?><%@ page language="java" contentType="text/xml" import="javax.xml.parsers.DocumentBuilder, javax.xml.parsers.DocumentBuilderFactory, org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.NodeList,java.io.*,java.util.*,org.voicexml.conformance.testharness.*" %><?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";?>
<callxml version="3.0">
<assign var="startTime" expr="time()"/>
<%!
public String setDefault(String foo, String defValue)
{
if(foo == null)
{
return defValue;
}
else
return foo;
}
String defValue = "0000";
String testCaseID = request.getParameter("testcaseid");
testCaseID = setDefault(testCaseID, defValue);
%>
<assign var="session.testCaseID" value="<%=testCaseID%>"/>
<do label="B1">
<prompt>
CallXML Parent application.
</prompt>
<goto value="https://127.0.0.1:8888/MAMP/CallXML1.php"/>
</do>
</callxml>
提前感谢您的帮助!
【问题讨论】: