[英]How to post parameters to java servlet using curl from php page?
我正在使用Netbeans開發Web應用程序。 我的PHP頁面由一個包含用戶名和密碼的表單組成,我必須使用MySQL在PHP中進行驗證,然后使用curl將這些參數發送給Servlet。 我能夠在Servlet上接收數據,但是我無法繼續進行操作,即控制流再次返回PHP頁面,並在網頁上顯示錯誤,表明所請求的資源不可用(我猜RequestDispatcher不能正確地放棄。)
我已經嘗試過如下。
HTML
<form id="loginform" name="loginform" method="POST" action="HomePage.php">
<input type="text" id="user_name" name="user_name">
<input type="password" id="password" name="password">
<input type="submit" >
PHP
<?php
// After validating
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost:8080/WebApp/Validatelogin");//validatelogin is a servlet
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "email=" . $email . "pass=" . $pass);
curl_exec($ch);
curl_close($ch);
?>
validateLogin.java
email = request.getParameter("email").trim();
Password= request.getParameter("pass");
RequestDispatcher rd = request.getRequestDispatcher("./mainpage.jsp");
rd.forward(request, response);
Error : mainpage is not available.
任何人都可以幫助我,因為我是PHP的新手。謝謝。
從Java重定向時,請從php處理重定向。
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
另外,如果您想查看PHP的輸出,請使用return-transfer選項
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
我想CURL不會重定向到另一個資源,它只會從另一個資源(網站)獲取數據。 我已經使用PHP最簡單的方法標頭將其重定向到Web應用程序中的servlet。它解決了我的問題。
header("Location: http://localhost:8080/WebApp/Validatelogin?email=$email");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.