spring mvc requestMapping。Java中使用httpurlconnection发送post请求,无法接收到参数

RanCood 2016-04-21 05:19:35
Java中使用httpurlconnection发送post请求,无法接收到参数
接收端

@RequestMapping("/receiveData")
@ResponseBody
public String receiveData(@RequestParam HashMap<String, Object> parameterMap){
String json_str = parameterMap.get("data")==null?"":parameterMap.get("data").toString();


发送端

try {

String url = targetURL;
URL targetUrl = new URL(targetURL);
HttpURLConnection httpConnection = (HttpURLConnection) targetUrl.openConnection();
httpConnection.setDoOutput(true);
httpConnection.setDoInput(true);
httpConnection.setUseCaches(false);
httpConnection.setRequestMethod("POST");
httpConnection.setRequestProperty("Content-Type", "application/json");

JSONObject json = new JSONObject();
json.put("DEPT_NAME", "测试");
json.put("FIELD_2_1", "测试1");
json.put("FIELD_2_2", "测试2");
json.put("FIELD_2_3", "测试3");
String param = URLEncoder.encode(json.toString(),"utf-8");
OutputStream outputStream = httpConnection.getOutputStream();
outputStream.write(param.getBytes());
outputStream.flush();

if (httpConnection.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + httpConnection.getResponseCode());
}

BufferedReader responseBuffer = new BufferedReader(
new InputStreamReader((httpConnection.getInputStream())));

String output;
System.out.println("Output from Server:\n");
while ((output = responseBuffer.readLine()) != null) {
System.out.println(output);
}

httpConnection.disconnect();

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

用get方式是没有问题的。之前用get方式 后来需要传附件不够用了 只能改用post了,但是接收参数为空
...全文
728 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
街头小贩 2016-04-22
  • 打赏
  • 举报
回复
接收端(Spring)收不到发送端(HttpURLConnection)的form? 哪你不用HttpURLConnection,用html表单,spring能收到吗 不能:是spring的问题 能:是HttpURLConnection的问题 为什么不用httpclient呢?

10,606

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧