前言:
Jersey是一款基于REST架构的web service框架,
jersey-client jar包
百度云盘地址:http://pan.baidu.com/s/1nudITeD
代码:
FormTest.class
package cn.firstflag.jersey.test; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.core.MediaType; import net.sf.json.JSONObject; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import cn.firstflag.jersey.domain.Result; /* * @ClassName 表单api测试 * @Description * @Author zhanmin.zheng * @CreateDate 2016/02/25 * @ModifyDate * @Version 1.0 */ public class FormTest { /** * @Description web service 服务器地址 */ private static final String BIGDATA_API_URL = "http://ip:port/seeyon/rest/"; /* * @MethodName 验证 * @Param param 参数列表 * @Return result 服务器返回数据对象 */ public Result token(String param) { Result result = new Result();//本地的数据返回封装类pojo String method = "token";//服务名 ClientResponse response = null;//封装客户端所需要的web 资源 try { Client client = Client.create();//创建RESTful Web Service 客户端 WebResource resource = client.resource(BIGDATA_API_URL + method);//定义资源地址 response = resource.type(MediaType.APPLICATION_JSON_TYPE).post(ClientResponse.class, param);//提交一个post请求到web资源 int status = response.getStatus();//获取http请求状态吗 String data = response.getEntity(String.class);//取得d数据 if (status == 200) {//请求成功 JSONObject jsonObject = JSONObject.fromObject(data); result.setStatus(status); result.setData(jsonObject.getString("id"));//将取得的id值取出 } else { result.setStatus(response.getStatus()); result.setData(data); } } catch (Exception e) { e.printStackTrace(); result.setStatus(500);//服务器异常 result.setErrorMsg(e.getMessage()); } return result; } public static void main(String[] args) { // TODO Auto-generated method stub String param = "{\"userName\" : \"test\", \"password\" : \"123456\"}"; Result result = new FormTest().token(param); } }
Result.java
package cn.firstflag.jersey.domain;
public class Result {
private int status;
private String data;
private String errorMsg;
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
@Override
public String toString() {
return "Result [status=" + status + ", data=" + data + ", errorMsg=" + errorMsg + "]";
}
}