Jersey客户端配置

前言:

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 + "]";
	}
	
	
}

  

posted @ 2016-02-25 21:38  sz_zzm  阅读(618)  评论(0编辑  收藏  举报