1、HttpClient远程接口调用
1)用户注册
注册按钮button
提交表单时,要return false
form
表单
<!-- action="http://localhost:8082/scw-restapi/member/regist" -->
<form class="form-signin" role="form" action="${ctp}/member/regist"
method="post" id="regForm">
...
</form>
js提交表单
$("#submitBtn").click(function() {
var loginType = $("select.form-control").val();
log("注册类型==============>", loginType)
/* if (loginType == "管理") {
$("#regForm").submit();
} else {
alert("此功能尚未开通");
} */
$("#regForm").submit();
return false
})
2)加载外部资源文件
app.properties
restapi.server.ip=127.0.0.1
restapi.server.port=8082
restapi.server.apppath=scw-restapi
编辑springmvc.xml
<!-- 引入外部配置文件 -->
<context:property-placeholder
location="classpath:other/app.properties" />
RestApiServerInfo.java
@Controller
public class RestApiServerInfo {
// MemberService memberService;
@Value("${restapi.server.ip}")
private String restapiserver;
@Value("${restapi.server.port}")
private String restapiport;
@Value("${restapi.server.apppath}")
private String appPath;
public String getRestApiURL() {
System.out.println("http://" restapiserver ":" restapiport);
return "http://" restapiserver ":" restapiport "/" appPath;
}
}
3)HTTPClient工具远程调用接口
导入依赖
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
发送post请求
public static String httpPostRequest(String url, Map<String, Object> params)
工具类HttpClientUtil.java
package com.atguigu.project;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Map;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
/**
* @author Nan 2015-11
*/
public class HttpClientUtil {
private static PoolingHttpClientCon