当我尝试向服务器发送请求时,无论是否设置setRequestMethod(“ GET”),服务器都只会收到POST请求。这是我正在调用的函数,带有一个URL和两个我需要与它们一起发送的参数:
const [name, setName] = useState([]);
const message = ["C", "h", "a", "s", "e", " ", "L", "i", "p", "s", "c", "o", "m", "b", " ", "W", "e", "b", " ", "D", "e", "v", "e", "l", "o", "p", "e", "r"]
let letter = "";
const displayName = () => {
for(var i = 0; i<message.length; i++) {
letter += message[i];
console.log(letter)
setName(letter);
setTimeout(function(){console.log("work");}, 1000)
}
}
useEffect(() => {
displayName();
}, []);
欢迎任何帮助,或者通过发送URL和两个参数来向服务器发送GET请求的任何其他功能。
答案 0 :(得分:1)
执行以下操作:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
class Main {
public static void main(String[] args) {
System.out.println(getHTML("http://localhost:8080/TestDynamicProject/getdata.do?t1=tp1&t2=tp2"));
}
public static String getHTML(String urlToRead) {
try {
StringBuilder result = new StringBuilder();
InputStream stream = null;
URL url = new URL(urlToRead);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
stream = conn.getInputStream();
}
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
result.append(line);
}
rd.close();
return result.toString();
} catch (Exception e) {
return e.getMessage().toString();
}
}
}
输出:
Response from GET | Request parameters: t1=[tp1],t2=[tp2]
以下是我的Servlet
:
@WebServlet("/getdata.do")
public class TestServlet extends HttpServlet {
public TestServlet() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
StringBuilder sb = new StringBuilder();
request.getParameterMap().forEach((k, v) -> sb.append(k.toString() + "=" + Arrays.toString(v) + ","));
sb.deleteCharAt(sb.length() - 1);
response.getWriter().append("Response from GET").append(" | Request parameters: ").append(sb);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().append("Response from POST");
}
}