java hessian

Hessian是二进制的web service协议,官方网站提供Java、Flash/Flex、Python、C++、.NET C#等实现。Hessian和Axis、XFire都能实现web service方式的远程方法调用,区别是Hessian是二进制协议,Axis、XFire则是SOAP协议,所以从性能上说Hessian远优于后两者,并且Hessian的JAVA使用方法非常简单。Hessian由于没有WSDL这种服务描述文件去对实现进行规定,似乎更适合内部分布式系统之间的交互,对外提供服务还是使用后两者更体面些。

一、写一个简单的hessian通信所需要知道写哪些内容

Hessian:写一个Hessian需要注意的问题:
         1、JAVA服务器端必须具备以下几点:
               包含Hessian的jar包
               设计一个接口,用来给客户端调用
               实现该接口的动能
               配置web.xml,配置相应的servlet
               对象必须实现Serializable 接口
               对于复杂对象可以使用Map的方法传递
         2、客户端必须具备以下几点:
               java客户端包含Hessian.jar包
               具有和服务器端结构一样的接口和实体类。包括命名空间都最好一样。利用Hess ianPr oxyFactory调用远程接口
二、简单hessian实例:
1、在服务端的接口:
public interface IHello {

       String sayHello();
     
}
2、在服务端的实现类:
public class IHelloImpl extends HessianServlet implements IHello {

       @Override
       public String sayHello() {
              // TODO Auto-generated method stub
              return "Hello,I from HessianService";
       }

}
3、在客户端的类:
public class ClientTest {

       public static String url = "http://127.0.0.1:8080/HessianService/Hello";
       public static void   main(String[] args){
              HessianProxyFactory factory = new HessianProxyFactory();
              try {
                     IHello iHello = (IHello) factory.create(IHello.class, url);
                     System.out.println(iHello.sayHello());
              } catch (MalformedURLException e) {
                     // TODO Auto-generated catch block
                     e.printStackTrace();
              }
       }
}
3、先将服务器端的类link到客户端,或者是将服务器端打包放到客户端,
4、在web.xml中进行配置:
服务器端: <servlet>
       <servlet-name>Hello</servlet-name>
       <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
       <init-param>
           <param-name>home-class</param-name>
           <param-value>com.kcpt.hessian.service.IHelloImpl</param-value>
       </init-param>
       <init-param>
           <param-name>home-api</param-name>
           <param-value>com.kcpt.hessian.service.IHello</param-value>
       </init-param>
       <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
       <servlet-name>Hello</servlet-name>
       <url-pattern>/Hello</url-pattern>
   </servlet-mapping>

执行成功:输出Hello,I from HessianService,这是简单的hessian实现方式,看起来比较简单
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值