读书人

Hessian是一个轻量级的remoting on ht

发布时间: 2012-07-05 07:59:17 作者: rapoo

Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI(Remote Method Invocation,远程方法调用)
Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI(Remote Method Invocation,远程方法调用)的功能。采用的是二进制RPC(Remote Procedure Call Protocol,远程过程调用协议)协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
  在进行基于Hessian的项目开发时,应当注意以下几点:

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

  包含Hessian的jar包。

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

  实现该接口的功能。

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

  对象必须实现Serializable 接口。

  对于复杂对像可以使用Map的方法传递。

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

  java客户端包含Hessian.jar的包。

  具有和服务器端结构一样的接口。

利用HessianProxyFactory调用远程接口。





下面是一个hessian的简单例子



场景1:服务端 客户端都不使用spring


Java服务器端:

环境:j2sdk1.4.2、Tomcat6.0

依赖的包:hessian-3.1.6.jar



新建一个名为HessianServer的web project。将hessian-3.2.0.jar放入WEB-INF/lib文件夹中。

创建接口



1) 如果客户端不使用spring,客户端代码如下
import java.net.MalformedURLException;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.caucho.hessian.client.HessianProxyFactory;import com.mooing.hessian.DemoApi;public class ClientSpring {       public static void main(String[] args) throws MalformedURLException, ClassNotFoundException {              // String url = "http://localhost:8080/jms1/remote/helloDemo";              // HessianProxyFactory pf = new HessianProxyFactory();              // DemoApi da = (DemoApi) pf.create(url);              // da.setName("test");              // System.out.println(da.sayHello());              // System.out.println(da.getUser());              ApplicationContext context = new ClassPathXmlApplicationContext("remote-hessian.xml");              DemoApi da = (DemoApi) context.getBean("helloDemo");              da.setName("test spring");              System.out.println(da.sayHello());              System.out.println(da.getUser());       }}

读书人网 >软件架构设计

热点推荐