`
zkl_1987
  • 浏览: 246516 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android 笔记 ---- 使用Hessian与Java服务端通讯

阅读更多
链接
1.  Hessian官方网站:
说明:Hessian也是一个轻量级的,自定义描述的二进制RPC协议.因为它是一个二进制协议,所以它很适合于发送二进制数据而需要使用其它附件来扩展这个协议。
地址:http://hessian.caucho.com/
2.  hessdroid项目:
说明:hessdroid 是Resin 的Hessian二进制远程调用框架在Android上非官方移植版本。
地址:http://code.google.com/p/hessdroid/
3.  Mercurial
说明:是一个轻量级的分布式版本控制系统,我选的是TortoiseHG for Windows 32bit,这里用于下载hessdroid源代码的工具。
地址:http://mercurial.selenic.com/downloads/

正文
一、准备
1.1  下载源码
下载Mercurial,安装完之后右键TortoiseHg->Clone->Source Path,输入”https://hessdroid.googlecode.com/hg/”下载即可。
1.2  打包成jar
源码直接用eclipse导入即可,然后导出成jar即可,这里我导成了hessdroid.jar。懒得自己导的可以从这里下载:http://download.csdn.net/source/2584651。

二、通讯接口
和WebService一样,准备一个接口:



public interface BasicAPI {
  public String hello();
}


二、服务端
    服务端为Tomcat+Servlet。
    2.1  导入Hessian官方Java的jar包,从http://hessian.caucho.com/下一个导入就行,本文例子是hessian-3.0.20.jar。
    2.2  BasicService.java



public class BasicService extends HessianServlet implements BasicAPI {
  private String _greeting = "Hello, world";
 
  public void setGreeting(String greeting)
  {
    _greeting = greeting;
  }
 
  public String hello()
  {
    return _greeting;
  }
}


2.3  在web.xml中配置接受servlet,这里写成:

   <servlet>
         <servlet-name>hello</servlet-name>
         <servlet-class>com.BasicService</servlet-class>
    </servlet>
      <servlet-mapping>
          <servlet-name>hello</servlet-name>
          <url-pattern>/hello.do</url-pattern>
      </servlet-mapping>



三、客户端

    3.1  新建Android项目,导入hessdroid.jar(别搞混淆了,是自己打包生成的那个jar包)。
    3.2  在界面上添加一个按钮,并添加点击事件:



public void OnClick11(View view)
    {
        String url = "http://192.168.1.1:8080/HessianServer/hello.do";
        HessianProxyFactory factory = new HessianProxyFactory();
        try {
            factory.setDebug(true);
            factory.setReadTimeout(5000);
            BasicAPI basic = (BasicAPI)factory.create(BasicAPI.class, url,getClassLoader());
            Toast.makeText(this, "调用结果:"+basic.hello(), Toast.LENGTH_LONG).show();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }


结束

   注意官方的测试链接”http://hessian.caucho.com/test/test”是连不通的,一直都是报错找不到hello这个方法,后来改用自己的服务端之后一下子就成功了。好的开始是成功的一半 接下来还会测试传值、大数据量及是否有中文问题等。

分享到:
评论

相关推荐

    【Android】使用Hessian与Java服务端通讯

    本文将详细介绍如何在Android客户端中使用Hessian与Java服务端进行通讯。 **一、Hessian概述** Hessian是由Caucho公司开发的一种基于HTTP的二进制RPC协议。它的主要优点包括: 1. **压缩传输**: Hessian采用二进制...

    hessian服务端 客户端 可运行

    在Java中,Hessian服务端通常由一个实现了特定接口的类构成,这个接口定义了可供客户端调用的方法。服务端通过Servlet容器(如Tomcat)部署,使用HessianServlet来处理HTTP请求。HessianServlet将接收到的二进制数据...

    hessian-lite-3.2.1-fixed-2.jar

    com.alibaba:hessian-lite:jar:3.2.1-fixed-2 hessian-lite hessian-lite-3.2.1-fixed-2.jar

    hessian php与java通讯demo源码

    - Java客户端会通过Hessian库与服务器端建立连接,调用服务端暴露的方法。 - 客户端代码需要知道服务器的URL以及要调用的服务接口。Hessian库会自动处理序列化和反序列化,使得客户端可以像调用本地方法一样调用...

    flex-hessian-java实例.rar

    Flex-Hessian-Java实例是一个关于使用Flex客户端与Java服务器之间进行高效远程调用的实践案例。这个压缩包包含了实现这一技术所需的关键组件和文件。Flex是Adobe开发的一种开放源码的富互联网应用(RIA)开发框架,...

    android端使用hessian跟web服务器通讯

    implementation 'com.caucho:hessian-android:4.0.67' } ``` 2. 创建Hessian服务代理:在Android客户端,我们需要创建一个Hessian服务代理类,这个类将负责与Web服务器上的Hessian服务进行交互。代理类通常需要实现...

    Hessian and Aandroid通讯

    而Hessian,作为一种二进制协议,因其轻量级、高效的特点,常被用于Android应用程序与Java服务端之间的通信。本文将深入探讨Hessian在Android通讯中的运用,以及如何通过MyEclipse开发环境进行实践。 Hessian是一种...

    hessian-4.0.63-API文档-中英对照版.zip

    赠送jar包:hessian-4.0.63.jar; 赠送原API文档:hessian-4.0.63-javadoc.jar; 赠送源代码:hessian-4.0.63-sources.jar; 赠送Maven依赖信息文件:hessian-4.0.63.pom; 包含翻译后的API文档:hessian-4.0.63-...

    使用hessian进行web与android的通讯

    使用hessian进行web与android的通讯,相关jar包都有,导入运行即可。有问题博客留言。http://blog.csdn.net/tan313/article/details/49536891

    java 反序列化利用工具marshalsec-0.0.3-SNAPSHOT-all

    -a:生成exploit下的所有payload(例如:hessian下的SpringPartiallyComparableAdvisorHolder, SpringAbstractBeanFactoryPointcutAdvisor, Rome, XBean, Resin) -t:对生成的payloads进行解码测试 -v:verbose mode...

    Java Hessian小试(转)

    它旨在提供轻量级、高效的跨语言通信方式,尤其适合于Java与Java之间的通信,但同时也支持与其他语言如Python、C++等的交互。Hessian的目标是简化分布式服务的实现,通过序列化对象为二进制格式,减少网络传输的数据...

    使用hessian进行服务器-客户端通讯

    4. **建立连接**:客户端通过URL(通常包括服务端的IP地址和端口号,以及Hessian服务的路径)与服务器建立连接。这个URL就是客户端调用Hessian服务的入口。 5. **调用服务**:一旦连接建立,客户端就可以像调用本地...

    使用hessian进行web与android端的通讯

    在提供的"**hessian-android使用案例**"文件中,可能包含了一个完整的示例项目,包括服务器端的Java代码和Android客户端的Java或Kotlin代码。通过研究这些代码,你可以更直观地了解Hessian在实际项目中的应用方式。 ...

    hessian demo 包括服务端和客户端

    在Java中,Hessian客户端可以使用HessianProxyFactory来创建一个代理对象,这个代理对象就像是本地对象一样调用服务端的方法。例如,在`hessionclient`目录下,可能有客户端代码,通过URL连接到服务端,创建Hessian ...

    hessian使用小例子

    现在,让我们通过一个简单的Java示例来了解如何使用Hessian。在这个例子中,我们将创建一个服务器端服务并暴露一个方法,然后在客户端调用这个远程方法。 1. 首先,我们需要在服务器端定义一个服务接口和实现类。...

    Hessian android版

    2. **服务端实现**:在服务端,开发者通常会创建一个Hessian服务,将Java对象的方法暴露为Web服务。Caucho Technology提供了Hessian服务器端库,可以方便地集成到Java应用程序服务器中。 3. **客户端调用**:在...

    hessian通讯的安卓实现的简单DEMO

    9. **调试与测试**:在开发过程中,可以使用Hessian的调试工具,如Hessian Browser,来检查服务端接口的暴露情况和客户端的调用效果,帮助定位和解决问题。 通过这个DEMO,开发者可以学习到如何在Android项目中集成...

    Hessian 使用小结

    1. **添加依赖**:首先,客户端和服务端都需要引入Hessian的jar包,以便使用其提供的API和功能。 2. **服务端设置**:在服务端,需要定义业务接口,并创建该接口的实现类。这个实现类需要继承`HessianServlet`,...

    hessian小例(java)

    在这个“hessian小例(java)”中,我们将深入探讨如何在Java Web项目中使用Hessian进行服务端和客户端的交互。 首先,我们要理解Hessian的工作原理。Hessian基于HTTP协议,能够将Java对象序列化为二进制流,从而在...

    hessian-lite

    4. **跨平台支持**:尽管主要应用于Java和Android,Hessian-lite的设计使得其可以在其他语言环境中实现兼容,增强了服务的跨平台能力。 三、Hessian-lite在Dubbo中的作用 1. **远程调用**:在Dubbo框架中,Hessian...

Global site tag (gtag.js) - Google Analytics