java web写post方法_JavaWeb 发送post请求的2种方式(form、json)
时间: 2024-04-07 12:32:18 浏览: 27
在 JavaWeb 中,发送 POST 请求有两种常用方式:form 表单方式和 JSON 格式数据方式。
1. form 表单方式
发送 form 表单 POST 请求的步骤如下:
1)创建一个 URL 对象,指定要访问的服务器地址;
2)打开 URL 的连接;
3)设置连接的一些属性,如请求方法(POST)、是否使用缓存等;
4)设置请求头,指定请求的内容类型为 application/x-www-form-urlencoded;
5)获取连接的输出流,将请求参数写入流中;
6)读取服务器的响应,获取响应结果。
下面是一个示例代码:
```java
URL url = new URL("http://example.com/api");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
// 设置请求头
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// 写入请求参数
String postData = "param1=value1¶m2=value2";
OutputStream outputStream = conn.getOutputStream();
outputStream.write(postData.getBytes("UTF-8"));
outputStream.flush();
// 读取响应结果
InputStream inputStream = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString());
```
2. JSON 格式数据方式
发送 JSON 格式数据的 POST 请求的步骤如下:
1)创建一个 URL 对象,指定要访问的服务器地址;
2)打开 URL 的连接;
3)设置连接的一些属性,如请求方法(POST)、是否使用缓存等;
4)设置请求头,指定请求的内容类型为 application/json;
5)获取连接的输出流,将请求参数写入流中;
6)读取服务器的响应,获取响应结果。
下面是一个示例代码:
```java
URL url = new URL("http://example.com/api");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
// 设置请求头
conn.setRequestProperty("Content-Type", "application/json");
// 写入请求参数
String postData = "{\"param1\":\"value1\",\"param2\":\"value2\"}";
OutputStream outputStream = conn.getOutputStream();
outputStream.write(postData.getBytes("UTF-8"));
outputStream.flush();
// 读取响应结果
InputStream inputStream = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString());
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)