迷人的hessian,你需要了解
创始人
2024-07-24 22:30:44
0

Hessian是一个由Caucho Technology开发的轻量级二进制RPC协议。和其他Web服务的实现框架不同的是,Hessian是一个使用二进制Web服务协议的框架,它的好处在于免除了一大堆附加的API包,例如XML的处理之类的jar包,这也就是为什么说它是一个轻量级的Web服务实现框架的原因,这个原因还在于手机上的应用程序可以通过Hessian提供的API很方便的访问Hessian的Web服务。

Hessian通过Servlet提供远程服务。需要将匹配某个模式的请求映射到Hessian服务。Spring的DispatcherServlet可以完成该功能,DispatcherServlet可将匹配模式的请求转发到Hessian服务。Hessian的server端提供一个servlet基类, 用来处理发送的请求,而Hessian的这个远程过程调用,完全使用动态代理来实现的,,采用面向接口编程,因此,Hessian服务建议通过接口暴露。

好吧介绍到此为止,下面开始hessian之旅吧!

***步:下载hessian,地址:http://hessian.caucho.com/

它拥有多种语言支持,python c++ .net 甚至 flex 都可以做为client端,我们这里使用java,请下载对应的java版本!

第二步:任意JAVA的IDE新建一个JAVA WEB工程

将下载的jar包引入工程中,创建一个接口,这个接口供客户端和服务器端使用,其实就是按照此接口来进行序列化和反序列化。接口定义如下:

Java代码

  1. package com.gary.hessian;     
  2.     
  3. public interface Basic {     
  4.     public String hello();     
  5. }  

 

第三步:服务端代码如下:

Java代码

  1. package com.gary.hessian;     
  2.     
  3. public class BasicService implements Basic {     
  4.     private String _greeting = "Hello, world";     
  5.     
  6.     public void setGreeting(String greeting) {     
  7.         _greeting = greeting;     
  8.     }     
  9.     
  10.     public String hello() {     
  11.         return _greeting;     
  12.     }     
  13. }  

 

第四步:在web.xml中配置,代码如下:

Java代码

  1.      
  2.         helloservlet-name>     
  3.         com.caucho.hessian.server.HessianServletservlet-class>     
  4.              
  5.             home-classparam-name>     
  6.             com.gary.hessian.BasicServiceparam-value>     
  7.         init-param>     
  8.              
  9.             home-apiparam-name>     
  10.             com.gary.hessian.Basicparam-value>     
  11.         init-param>     
  12.     servlet>     
  13.          
  14.          
  15.         helloservlet-name>     
  16.         /hellourl-pattern>     
  17.     servlet-mapping>   

 

 

第五步:客户端远程调用代码:

Java代码

  1. package com.gary.hessian;     
  2.     
  3. import com.caucho.hessian.client.HessianProxyFactory;     
  4.     
  5. public class BasicClient {     
  6.     public static void main(String[] args) throws Exception {     
  7.         String url = "http://localhost:8080/MINA/hello";     
  8.                                  //此处的MINA是我的项目名称       
  9.                 HessianProxyFactory factory = new HessianProxyFactory();     
  10.         Basic basic = (Basic) factory.create(Basic.class, url);     
  11.     
  12.         System.out.println("Hello: " + basic.hello());     
  13.     }     
  14. }    

 

第六步:启动我们的WEB服务器,然后在启动这个client的程序,是不是发现屏幕上输出了你想看到的结果!

【编辑推荐】

  1. Spring3.0将全面支持REST
  2. 专家Isvy谈Spring 3.0
  3. JSF与Spring的集成
  4. 详细介绍Spring事务管理
  5. Spring框架的事务管理应用分析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...