`
keney_oak
  • 浏览: 26336 次
社区版块
存档分类
最新评论

JAVA 访问接口,并获取接口的返回值 1

    博客分类:
  • java
阅读更多
----------------访问接口
try {
    /** post方式 */
    HttpClient client = new HttpClient();
    PostMethod postMethod = new PostMethod(
            "http://localhost:8080/portal/check.jsp");
    // 参数设置
    postMethod.setParameter("channelid", "85");
    // 执行postMethod
    client.getParams().setParameter(
            HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8");
    // 执行并返回状态
    int status = client.executeMethod(postMethod);
    String getUrl = postMethod.getResponseBodyAsString();
    System.out.println(getUrl);
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

-----------------------------------访问路径

check.jsp类的代码

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="utf-8" %>
<%
//通过栏目id判断用户对栏目权限;
String channelid = (String) request.getParameter("channelid");
if(null==channelid||""==channelid){
    response.getWriter().print(100);
}else{
    response.getWriter().print(200);
}
%>

---------------------------------------获得访问接口返回值

// 构造HttpClient的实例
HttpClient httpClient = new HttpClient();
// 创建GET方法的实例
GetMethod getMethod = new GetMethod(url);
// 使用系统提供的默认的恢复策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
        new DefaultHttpMethodRetryHandler());
// 定义一个输入流
InputStream ins = null;
// 定义文件流
BufferedReader br = null;
try {
    // 执行getMethod
    int statusCode = httpClient.executeMethod(getMethod);
    if (statusCode != HttpStatus.SC_OK) {
        System.err.println("方法失败: " + getMethod.getStatusLine());
    }
    // 使用getResponseBodyAsStream读取页面内容,
    //这个方法对于目标地址中有大量数据需要传输是最佳的。
    ins = getMethod.getResponseBodyAsStream();
    String charset = getMethod.getResponseCharSet();
    if (charset.toUpperCase().equals("ISO-8859-1")) {
        charset = "gbk";
    }
    // 按服务器编码字符集构建文件流,这里的CHARSET要根据实际情况设置
    br = new BufferedReader(new InputStreamReader(ins, getMethod
            .getResponseCharSet()));
    StringBuffer sbf = new StringBuffer();
    String line = null;
    while ((line = br.readLine()) != null) {
        sbf.append(line);
    }
    String result = new String(sbf.toString().getBytes(
            getMethod.getResponseCharSet()), charset);
    // 输出内容
    System.out.println(result);

    // 服务器编码
    System.out.println("服务器编码是:" + getMethod.getResponseCharSet());
    return result;
} catch (HttpException e) {
    // 发生致命的异常,可能是协议不对或者返回的内容有问题
    System.out.println("请检查您所提供的HTTP地址!");
    e.printStackTrace();
} catch (IOException e) {
    // 发生网络异常
    e.printStackTrace();
} finally {
    // 关闭流,释放连接
}
return null;






分享到:
评论

相关推荐

    详解利用SpringMVC拦截器控制Controller返回值

    主要介绍了详解利用SpringMVC拦截器控制Controller返回值,通过定义一个StringResult注解,在访问方法的时候返回StringResult中的内容,有兴趣的可以了解一下。

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    第1章 让自己的第一个Java程序跑起来 2 教学视频:19分钟 1.1 想要用Java改变这个世界吗? 2 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    第1章 让自己的第一个Java程序跑起来 2 教学视频:19分钟 1.1 想要用Java改变这个世界吗? 2 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 ...

    JAVA面试题最全集

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...

    疯狂JAVA讲义

    第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...

    java 面试题 总结

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    Java核心技术II(第8版)

    第一章 流与文件 1.1 流 1.1.1 读入和写出字节 1.1.2 完整的流家族 1.1.3 组合流过滤器 1.2 文本输入与输出 1.2.1 如何写出文本输出 ...12.10.2 访问注册表的Java平台接口 12.10.3 以本地方法方式实现注册表访问函数

    java面试题

    Java 软件工程师面试资料大整合 1 Java 面霸 1 1. int 和 Integer 有什么区别? 8 2. String 和StringBuffer的区别 8 3. 运行时异常与一般异常有何异同? 8 4. 说出ArrayList,Vector,LinkedList的存储性能和特性 8 5...

    java培训机构内部预习文档

    chp1.语言基础 基本语法、标识符、命名规范、八种基本类型、基本操作符、运算符 chp2.选择结构 if 、if else、if else if else、switch case chp3.循环控制 while、do while、for、break、continue chp4.函数 函数的...

    超爽的自学课件(java)

    1) 第1章:对象入门 这一章是对面向对象的程序设计(OOP)的一个综述,其中包括对“什么是对象”之类的基本问题的回答,并讲述了接口与实现、抽象与封装、消息与函数、继承与合成以及非常重要的多形性的概念。...

    java经典面试2010集锦100题(不看你后悔)

    C) 类实现了接口,必须实现接口中的所有方法,并且接口中的所有方法均为public,在实现类中不可以削弱接口中方法的访问权限。 D) 类实现了接口,实现接口中的方法时可以重写该方法的访问权限,但是无法改变接口中...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    第1篇 Java语法与面向对象技术 第1章 开发环境的应用 2 1.1 Java环境 3 实例001 下载JDK开发工具包 3 实例002 把JDK工具包安装到指定磁盘 4 实例003 设置JDK的环境变量 6 实例004 验证Java开发环境 7 实例005 下载并...

    java动态日志注入工具anylog.zip

     1、使用如下命令,生成一个spi实现工程,并导入eclipse  mvn archetype:generate -DarchetypeGroupId=com.github.jobop -DarchetypeArtifactId=anylogspi-archetype -DarchetypeVersion=1.0.4  2、参照该...

    超级有影响力霸气的Java面试题大全文档

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

Global site tag (gtag.js) - Google Analytics