Jersey客户端配置

news/2024/7/23 8:21:18 标签: java, json

前言:

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

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

  

转载于:https://www.cnblogs.com/sz-zzm/p/5218505.html


http://www.niftyadmin.cn/n/1537597.html

相关文章

Java 整合 OpenCV4.4 之项目安装测试 教程 (一)

一、opencv 简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Java、Python、Ruby、MATLAB等…

plsql块的实例

实例1 只包括执行部分的pl/sql块set serveroutput on --打开输出选项begindbms_output.put_line(hello,world!);end;相关说明:dbms_output是oracle所提供的包(类似java的开发包),该包包含一些过程,put_line就是dbms_o…

关于UITableview刷新笔记

今天在做项目的时候 发现调用tableview 的 reloaddata 方法的时候出现崩溃. - 具体操作是执行某个方法后将数据数组中的某条数据删除(数组中存数组)发现调用刷新方法后 程序崩溃,查看日志发现是数组越界 调试发现 numofsections 这个方法要慢于 cellforr…

6.plsql的过程

过程过程用于执行特定的操作。当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out)。通过在过程中使用输入参数,可以将数据传递到执行部分;通过使用输出参数,可…

Java 整合 OpenCV4.4 之 学习OpenCV矩阵对象基础知识教程 (二)

一、OpenCV 矩阵 基础学习 我们有多种方法可以获得现实世界的数字图像:数码相机、扫描仪、计算机体层摄影或磁共振成像就是其中的几种。在每种情况下我们(人类)看到了什么是图像。但是,转换图像到我们的数字设备时我们的记录是图…

java 实现打印(图片和文本)

// 打印内容到指定位置 public void printContent(Map<String, String> mymap ) { printStr "打印测试内容";// 获取需要打印的目标文本 if (printStr ! null && printStr.length() > 0) // 当打印内容不为空时 { PAGES …

8.plsql里的包

包包用于在逻辑上组合过程和函数&#xff0c;它由包规范和包体两部分组成。 1.我们可以使用create package命令来创建包&#xff1a;实例&#xff1a;create package sun_package isprocedure update_sal(name varchar2,newsal number);function annual_income(name varchar2) …

Java 基于 OpenCV4.4 - 加载图像及保存图像教程 (三)

一、加载图像 从指定路径下加载图像文件&#xff0c;并把它转换为Mat对象以进行数字操作。OpenCV有一个名为imread的简单函数&#xff0c;用以从文件中读取图像。它通常只需要图像在本地文件系统上的文件路径&#xff0c;但同时这个函数还带有一个缺省的类型参数。让我们看看如…