HttpServletRequest 的 getInputStream 该怎么传参数

HttpServletRequestgetInputStream方法用于从请求体中读取数据,它不直接接收参数。这通常用于处理 POST 或 PUT 请求中的数据,这些数据通常是客户端通过请求体发送的。

在客户端,您可以使用HttpURLConnection或者类似HttpClient的库来发送POST请求,并在请求体中添加数据。

例如,下面的Java代码片段展示了如何使用HttpURLConnection发送POST请求,并在请求体中添加数据:

URL url = new URL("http://example.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);

// Send post request
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
String urlParameters = "param1=value1&param2=value2";
wr.writeBytes(urlParameters);
wr.flush();
wr.close();

然后在服务器端,您可以使用getInputStream来读取这些数据:

ServletInputStream inputStream = request.getInputStream();

然后你可以使用一个缓冲区来读取这些数据,例如:

ServletInputStream inputStream = request.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = null;
StringBuilder sb = new StringBuilder();

while ((line = reader.readLine()) != null) {
    sb.append(line);
}

String data = sb.toString(); // This is the data sent from the client

记住,使用getInputStream方法时,通常处理的是原始数据,如果你的数据是URL编码或者以其他方式格式化的(例如JSON或XML),你可能需要将这些数据解码或解析为更有用的格式。

评论栏