hessian java 例子_Hessian---简单例子

在进行基于Hessian的项目开发时,应当注意以下几点:

▲JAVA服务器端必须具备以下几点:

·包含Hessian的jar包

·设计一个接口,用来给客户端调用

·实现该接口的功能

·配置web.xml,配好相应的servlet

·由于使用二进制RPC协议传输数据,对象必须进行序列化,实现Serializable 接口

·对于复杂对象可以使用Map的方法传递

▲客户端必须具备以下几点:

·java客户端包含Hessian.jar的包。C#中引用hessianCSharp.dll

·具有和服务器端结构一样的接口。包括命名空间都最好一样

·利用HessianProxyFactory调用远程接口。

一、服务端【TestHessainServices】

1、接口

package app.demo;

public interface BasicAPI {

public void setTest(String test);

public String hello();

public User getUser();

}

2、实体类

package app.demo;

public interface BasicAPI {

public void setTest(String test);

public String hello();

public User getUser();

}

3、services

package app.demo;

/**

* @author

* @创建时间:205-4-15

* @作用: hessian服务端

* 发布在服务器上,为客户端提供接口*/

public class BasicService implements BasicAPI {

private String params = "测试,成功!!!";

@Override

public void setTest(String test) {

params = test;

System.out.println("set greeting success:"+params);

}

@Override

public String hello() {

return params;

}

@Override

public User getUser() {

return new User("小明", "123456");

}

}

4、web.xml配置

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

hello

com.caucho.hessian.server.HessianServlet

service-class

app.demo.BasicService

hello

/hello

index.jsp

二、客户端【TestHessianClient】

1、接口和服务端一样

2、实体类和服务端一样

3、services

package app.demo;

import com.caucho.hessian.client.HessianProxyFactory;

/**

* @author

* @创建时间:205-4-15

* @作用: hessian客户端

* 客户端调用服务端的接口*/

public class BasicClient {

public static void main(String[] args) throws Exception

{

// http://localhost:8081/TestHessainServices/-------发布在tomcat服务器上-----hello服务端上的web.xml配置servlet名字

String url ="http://localhost:8081/TestHessainServices/hello";

HessianProxyFactory factory = new HessianProxyFactory();

BasicAPI basic = (BasicAPI) factory.create(BasicAPI.class, url);

System.out.println("测试1:" + basic.hello());

System.out.println("测试2:" + basic.getUser().getUserName());

System.out.println("测试3:" + basic.getUser().getPassword());

basic.setTest("测试");

System.out.println("测试4:" + basic.hello());

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值