hessian学习手记
一、 Hessian原理简介:
?????????? Hessian是由caucho提供的一个基于Binary-RPC协议实现的远程通讯library。在使用过程中,请求端通过Hessian本身提供的API来向服务端发起请求,Hessian通过其自定义的串行化机制将请求信息进行序列化,产生二进制流,然后用Http协议进行传输。响应端根据Hessian提供的API来接收请求,而后,Hessian根据其私有的串行化机制来将请求信息进行反序列化,传递给使用者时已是相应的请求信息对象了。处理完毕后直接返回,hessian将结果对象进行序列化,传输至调用端。
?
二、 Hessian 调用实例
??? 1. 服务端实体类:
?
?? 5.? WEB-INF下 remoting-servlet.xml 的配置:
?
? 6. 客户端要有对应的实体类和接口,客户端代码:
?
?? 客户端运行结果如下:
????? HessianProxy[http://127.0.0.1:8080/hessianDemo/hessian]
????? airline: Shanghai - Shenzhen
????? color: silver
????? length: 30
????? owner: MU?
三、? 在进行基于Hessian的项目开发时,应当注意以下几点: ?
??? ?? ▲JAVA服务器端必须具备以下几点:
??????????????? -包含Hessian的jar包;
??????????????? -设计一个接口,用来给客户端调用;
??????????????? -实现该接口的功能;
??????????????? -配置web.xml,配好相应的servlet;
??????????????? -对象必须实现Serializable 接口;
??????????????? -对于复杂对像可以使用Map的方法传递;
?? ? ? ▲客户端必须具备以下几点:
??????????????? -java客户端包含Hessian.jar的包;
??????????????? -具有和服务器端结构一样的接口。包括命名空间都最好一样;
????????? -利用HessianProxyFactory调用远程接口。
四、?? Hessian特点总结:
??????????????? -整个jar很小,200多K,3.1版本的,当然,我下载的for java的版本;
????????????? ? -配置很简单,基本上不需要花什么经历就配置出来了;
????????????? ? -功能强大,可以将soap抛开,也可以把EJB抛开,采用二进制来传递对象;
????????????? ? -拥有多种语言支持,python?c++? .net 甚至 flex 都可以做为client。
??????????? 下载地址: /uploadfile/jiaocheng/20140140/2703/201401271703008419
?