SpringMVC template和HttpClient post提交

服务器的接口如果是springmvc客户端除了用springmvc提供的RestTemplate请求如下

public class RestClient {

private static Logger logger = Logger.getLogger(RestClient.class);

@SuppressWarnings({ rawtypes, unchecked })

public static Object post(String url, Map<string, object=""> message) {

Object result = null;

try {

RestTemplate rest = new RestTemplate();

MultiValueMap<string, object=""> param = new LinkedMultiValueMap();

for(Entry<string, object=""> entry : message.entrySet()) {

param.add(entry.getKey(), entry.getValue());

}

result = rest.postForObject(url, param, String.class);

} catch (Exception e) {

logger.error(发送消息发生异常+e);

}

return result;

}

}

import java.io.UnsupportedEncodingException;

import org.springframework.util.LinkedMultiValueMap;

import org.springframework.util.MultiValueMap;

import org.springframework.web.client.RestTemplate;

import test.ThreeDES;

public class TestPost {

public static void main(String[] args) {

//spring方式

RestTemplate rest = new RestTemplate();//创建org.springframework.web.client.RestTemplate

MultiValueMap<String,Object> param = new LinkedMultiValueMap<String,Object>();//创建参数Map  org.springframework.util.LinkedMultiValueMap

//map设值

param.add("id", "1");

param.add("carbonOrderNo", "M201702161055");

param.add("name", "王烟");

param.add("userTypes", "OTHER");

param.add("tel", "13020232323");

param.add("certificateNo", "99021023456");

param.add("money", "2");

param.add("donationWays", "CASHPAY");

String result = rest.postForObject("http://localhost:8080/trip/bD/send?", param, String.class);//postForObject   post方式

System.out.println(result);

}

}

还可以用httpclient发送请求如下:

package com.ckdh.web.test;

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.client.HttpClient;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.entity.StringEntity;

import org.apache.http.impl.client.DefaultHttpClient;

public class DownloadResourcesTest {

public static void main(String[] args) {

String url = http://localhost:8080/xxx-web/xxx.mvc?apikey=1;

HttpClient client = new DefaultHttpClient();

HttpPost httpPost = new HttpPost(url);

InputStream is = null;

InputStreamReader isr = null;

BufferedReader br = null;

try {

httpPost.addHeader(city, 010);

httpPost.addHeader(version, 2);

HttpEntity entity = new StringEntity(<infos><info hash="a0fd9704eb1432892cbc19742811b63" spid="88"> +

</info><info hash="e7b8894b8bc4d4eac22dffd85f28a68" spid="p1"></info></infos>);

httpPost.setEntity(entity);

HttpResponse response = client.execute(httpPost);

System.out.println(response.getStatusLine());

is = response.getEntity().getContent();

isr = new InputStreamReader(is, UTF-8);

br = new BufferedReader(isr);

StringBuffer buf = new StringBuffer();

String line;

while (null != (line = br.readLine())) {

buf.append(line).append();

}

System.out.println(buf.toString());

} catch (Exception e) {

e.printStackTrace();

}

}

}

时间: 2024-10-27 03:54:48

SpringMVC template和HttpClient post提交的相关文章

springmvc的token防重复提交

一:首要创立一个号码大全token处置类  ,这儿的类名叫关键词挖掘工具  TokenHandler private static Logger logger = Logger.getLogger(TokenHandler.class); static Map springmvc_token http://www.3h5.cn = null; //生成一个仅有值的token @SuppressWarnings("unchecked") public synchronized stati

springmvc,通过ajax方式提交页面数据,后台返回json数据中文信息乱码

本人刚开始接触springmvc,项目搭建参照https://my.oschina.net/gaussik/blog/385697.在用IDEA写登录注册的时候,想通过ajax方式提交数据到后台,然后遇到如题所述的乱码问题,然后度娘了好多,终于解决了.废话不多说,直接上代码. 首先是登录页面login.jsp 1 <%-- 2 Created by IntelliJ IDEA. 3 User: PENG027 4 Date: 2016/11/11 5 Time: 15:48 6 To chang

通过C#的HttpClient模拟提交form()表单

post提交表单一般无非是一般text文本和文件类型,如下 <input type="file"/> <input type="text"/> 如果模拟post提交表单的过程,该怎么做呢 这里就需要用到HttpClietn类 首先我们需要一个类去包装这些需要上载的数据,例如 /// <summary> /// 包装Data数据的Model /// </summary> public class SendData { /

拦截器springmvc防止表单重复提交【1】

[参考博客:http://www.cnblogs.com/hdwpdx/archive/2016/03/29/5333943.html] springmvc 用拦截器+token防止重复提交 首先,防止用户重复提交有很多种方式,总体分为前端JS限制和后端限制,我个人认为后端限制比较妥当(本着能做到更优秀得理念,舍去了前端JS限制重复提交得想法). 之前没有做过防止用户重复提交,所以直接百度了一大堆,竟然发现基本上可以归为2到3种真正不同实现得代码,文章虽然有很多,不过大部分代码几乎都出自同一人,

基于SpringMVC与jquery的ajax提交表单的若干情况详解

在日常的业务中,我们往往使用的是ajax提交页面数据,而不用form的action来提交整个表单.现在我来分享一下我在日常工作中遇到的一些问题. 一.$.post.$.get.$.ajax三者的区别: 顾名思义,$.post和$.get分别是采用post方式和get方式向服务器发送请求.两者的不同是,get请求的参数是在url直接以url?name1=value1&name2=value2的形式拼接而成,而post请求的参数会以请求正文的形式传送到服务器,这个学习过javaweb知识的应该都知道

springmvc中只接受固定提交内容类型的请求

springmvc中的@RequestMapping注解是用来处理请求地址映射的,如果某个接口我们只接受请求的提交内容类型(Content-Type)为application/json或text/html,那可以用@RequestMapping中的consumes来定义,同样还有个produces是指定返回的内容类型.

springmvc后台获取表单提交的数据——@ModelAttribute等方式

1.通过注解ModelAttribute直接映射表单中的参数到POJO.在from中的action写提交的路径,在input的name写参数的名称. package com.demo.model; public class user { private String username; private String password; private int nsex; public String getUsername() { return username; } public void se

拦截器springmvc防止表单重复提交【2】

[参考博客:http://my.oschina.net/mushui/blog/143397] 原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过. 1.新建注解: /** * <p> * 防止重复提交注解,用于方法上<br/> * 在新建页面方法上,设置needSaveToken()为true,此时拦截器会在Session中保存一个token, * 同时需要在新建的页面中添加

httpclient方式提交数据到服务器

get方式:             //使用HttpClient请求服务器将用户密码发送服务器验证                 try{                 String path = "http://192.168.13.83:8080/xuexi/servlet/LoginServlet?username="+URLEncoder.encode(username,"utf-8")+"&pwd="+URLEncoder