如何在php中重定向到另一个jsp页面

如何在php中重定向到另一个jsp页面,php,jsp,redirect,Php,Jsp,Redirect,我有一个php页面,它正在进行一些操作,并将数据存储在2个变量中,现在我想将这些数据传递到另一个页面,该页面是jsp。我不想点击任何地方,这意味着我的php将在最后自动调用jsp页面 请告诉我怎么做 谢谢, Manoj Singhal您可以使用它从JSP页面获取数据,然后将其显示给PHP客户端。在这个场景中,您的客户机(浏览器)将在内部连接到JSP应用程序服务器,您可以通过URL传递数据。然后,将JSP输出用作PHP输出。您可以使用从JSP页面获取数据,然后将其显示给PHP客户端。在这个场景中,

我有一个php页面,它正在进行一些操作,并将数据存储在2个变量中,现在我想将这些数据传递到另一个页面,该页面是jsp。我不想点击任何地方,这意味着我的php将在最后自动调用jsp页面

请告诉我怎么做

谢谢,
Manoj Singhal

您可以使用它从JSP页面获取数据,然后将其显示给PHP客户端。在这个场景中,您的客户机(浏览器)将在内部连接到JSP应用程序服务器,您可以通过URL传递数据。然后,将JSP输出用作PHP输出。

您可以使用从JSP页面获取数据,然后将其显示给PHP客户端。在这个场景中,您的客户机(浏览器)将在内部连接到JSP应用程序服务器,您可以通过URL传递数据。然后,将JSP输出用作PHP输出。

将数据存储在文件或数据库中,然后执行以下操作:

header('Location: thejsp.jsp'); 
die();
然后让
jsp
从该文件或数据库检索数据


您还可以执行一些通过GET或POST传递数据的
curl
请求,或者将数据存储在文件或数据库中,然后执行以下操作:

header('Location: thejsp.jsp'); 
die();
然后让
jsp
从该文件或数据库检索数据

您还可以执行一些
curl
请求,通过GET或POST传递数据

<?php
  $var1 = 'some_value';
  $var2 = 'some_other_value';
  header('Location: jsppage.jsp?var1='.$var1.'&var2='.$var2);
  exit;
?>

通过
request.getParameter(“var1”)
request.getParameter(“var2”)
(可能是错误的,对jsp了解很少)。

试试这个

<?php
  $var1 = 'some_value';
  $var2 = 'some_other_value';
  header('Location: jsppage.jsp?var1='.$var1.'&var2='.$var2);
  exit;
?>


jsp脚本将通过
request.getParameter(“var1”)
request.getParameter(“var2”)
(可能是错误的,对jsp了解很少)。

假设您希望在jsp上重用相同的请求参数:

如果是GET请求,请执行以下操作:

header('HTTP/1.1 302 Moved Temporarily');
header('Location: http://example.com/page.jsp?' . $_SERVER['QUERY_STRING']);
exit();
header('HTTP/1.1 307 Temporary Redirect');
header('Location: http://example.com/page.jsp');
exit();
如果是POST请求,请执行以下操作:

header('HTTP/1.1 302 Moved Temporarily');
header('Location: http://example.com/page.jsp?' . $_SERVER['QUERY_STRING']);
exit();
header('HTTP/1.1 307 Temporary Redirect');
header('Location: http://example.com/page.jsp');
exit();

(使用307,客户端将重新应用POST请求,包括目标页面上的参数)

假设您希望在JSP上重用相同的请求参数:

如果是GET请求,请执行以下操作:

header('HTTP/1.1 302 Moved Temporarily');
header('Location: http://example.com/page.jsp?' . $_SERVER['QUERY_STRING']);
exit();
header('HTTP/1.1 307 Temporary Redirect');
header('Location: http://example.com/page.jsp');
exit();
如果是POST请求,请执行以下操作:

header('HTTP/1.1 302 Moved Temporarily');
header('Location: http://example.com/page.jsp?' . $_SERVER['QUERY_STRING']);
exit();
header('HTTP/1.1 307 Temporary Redirect');
header('Location: http://example.com/page.jsp');
exit();
(使用307,客户端将重新应用POST请求,包括目标页面上的参数)

这很简单:

  <?php
  /* 
     Prevent errors or output from spoiling the headers we're using later on.
     Every output before the headers are posted will break the headers and fail. 
  */
  ob_start();
  ...your code...
  $var1 = 'some_value';
  $var2 = 'some_other_value';
  ...your code...
  ob_end_clean();

  /* 
     Make sure you url-encode your variables so they don't break!
  */
  $location  = 'http://www.yourdomain.com/yourtargetpage.jsp?';
  $location .= 'var1='.url_encode($var1);
  $location .= '&amp;';
  $location .= 'var2='.url_encode($var2);

  /*
     Redirect to $location, 
     Using a 301 redirect (not 302!), 
     With TRUE to replace default HTTP code with 301 code and redirect.
  */
  header('Location: '.$location, 301, TRUE);
  exit();
  ?>

现在,您所要做的就是*url\u解码*jsp页面中的变量,然后设置好

这很简单:

  <?php
  /* 
     Prevent errors or output from spoiling the headers we're using later on.
     Every output before the headers are posted will break the headers and fail. 
  */
  ob_start();
  ...your code...
  $var1 = 'some_value';
  $var2 = 'some_other_value';
  ...your code...
  ob_end_clean();

  /* 
     Make sure you url-encode your variables so they don't break!
  */
  $location  = 'http://www.yourdomain.com/yourtargetpage.jsp?';
  $location .= 'var1='.url_encode($var1);
  $location .= '&amp;';
  $location .= 'var2='.url_encode($var2);

  /*
     Redirect to $location, 
     Using a 301 redirect (not 302!), 
     With TRUE to replace default HTTP code with 301 code and redirect.
  */
  header('Location: '.$location, 301, TRUE);
  exit();
  ?>


现在,您所要做的就是*url\u解码*jsp页面中的变量,然后设置好

您好,我想将我的数据从PHP发送到JSP.Hello。试着按照我的建议使用CURL。另外,ITroubs的答案也是一个很好的选择。请阅读本文,通过curl传递post数据:Hello,我想将我的数据从PHP发送到JSP.Hello。试着按照我的建议使用CURL。否则,ITroubs的答案也是一个很好的选择。通过curl传递post数据时,请阅读以下内容:不在文件中!这可能会产生竞速情况(因为本地存储需要时间,并且可能会出现多个请求),这可能会破坏存储的数据。如果可以,数据库将是一个解决方案。即使我认为仅仅将两个变量传递给jsp文件是过分的,因为这也可以通过URL来完成。此外,OP还需要解决这个问题,以了解哪个客户机接收哪个存储的数据。毕竟,如果数据总是相同的,它就可以硬编码到jsp中。。。因此,变量数据是可以预期的。那么,哪个客户机从数据库中获取什么数据?祝你好运不在文件中!这可能会产生竞速情况(因为本地存储需要时间,并且可能会出现多个请求),这可能会破坏存储的数据。如果可以,数据库将是一个解决方案。即使我认为仅仅将两个变量传递给jsp文件是过分的,因为这也可以通过URL来完成。此外,OP还需要解决这个问题,以了解哪个客户机接收哪个存储的数据。毕竟,如果数据总是相同的,它就可以硬编码到jsp中。。。因此,变量数据是可以预期的。那么,哪个客户机从数据库中获取什么数据?祝你好运总是,总是URL\当您想通过URL传递变量时,请对变量进行编码,否则一旦URL中的单个字符无效,您就会遇到麻烦。记住,现在的互联网大多是Unicode(UTF-8),但URL只支持一小部分字符集作为有效的URL字符!检查规范:或者——至少——检查维基百科的易读文章:了解为什么你应该url\u编码你的数据。当你想通过url传递变量时,总是,总是url\u编码你的变量,否则一旦url中使用的单个字符无效,你就会遇到麻烦。记住,现在的互联网大多是Unicode(UTF-8),但URL只支持一小部分字符集作为有效的URL字符!查看规范:或者——至少——查看更容易阅读的维基百科文章:了解为什么要对数据进行url_编码。