`
zyslovely
  • 浏览: 228199 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

hessian学习笔记

阅读更多
关键字: hessian webservice

似乎最近Hessian 很火?

昨天我用了,马上就喜欢上了他.

1- 整个jar很小,200多K,3.1版本的,当然,我下载的for java的版本.

2- 配置很简单,基本上不需要花什么经历就配置出来了

3- 功能强大,可以将soap抛开,也可以把EJB抛开,采用二进制来传递对象

4- 拥有多种语言支持,python c++  .net 甚至 flex 都可以做为client端

http://hessian.caucho.com/#Java 这里可以下载到for java的版本

任意JAVA的IDE新建一个JAVA WEB工程

将下载的.jar包引入工程中,创建一个接口,这个接口可以供客户端和服务器端使用如下:
java 代码

   1. public interface IBasic {  
   2.  
   3.     /** 
   4.      * 测试字符串 
   5.      * @return 
   6.      */ 
   7.     public String hello();  
   8.  
   9.     /** 
  10.      * 取一辆汽车   测试对象传递 
  11.      * @return 
  12.      */ 
  13.     public Car getCar();  
  14.  
  15. } 



当然接口中用到的Car 这个类是自己定义的包含任何属性的标准JAVABEAN;

接下来我们就开始做service端的程序了:
java 代码

   1. /** 
   2.  * Created by IntelliJ IDEA. 
   3.  * User: tangkf 
   4.  */ 
   5. public class BasicService implements IBasic {  
   6.   private String hello= "Hello, world";  
   7.  
   8.   public String hello()  
   9.   {  
  10.     return hello;  
  11.   }  
  12.  
  13.     public Car getCar() {  
  14.         Car car = new Car();  
  15.         car.setColor("RED红色");  
  16.         car.setLength("2400");  
  17.         car.setName("HAHACHE");  
  18.         return car;  
  19.     }  
  20. } 



服务器端的程序写好后,要让client能够通过http协议访问到我们的service还需要配置servlet,当然这个过程是很简单的
xml 代码

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



只需要将上面的代码加入到你的WEB.XML文件中,当然包路径是你自己的路径而已.

这时服务器段的工作就已经全部完成了.



接下来我们在做client端的工作,client需要用到IBasic 这个接口,还需要用到 Car 这个类

可以做一个简单的测试:
java 代码

   1. public class BasicClient {  
   2.     public static void main(String []args)  
   3.         throws Exception  
   4.       {  
   5.         String url = "http://127.0.0.1:8099/common/hello";  
   6.         HessianProxyFactory factory = new HessianProxyFactory();  
   7.         Basic basic = (Basic) factory.create(Basic.class, url);  
   8.           Car car   = basic.getCar();  
   9.           System.out.println("Hello: " + basic.hello());  
  10.         System.out.println("Hello: " + car.toString());  
  11.       }  
  12.  
  13.  
  14. } 



大功告成,启动我们的WEB服务器,然后在启动这个client的程序,是不是发现屏幕上输出了你想看到的结果!要是抛异常了怎么办?

不要急,检查下包路径,.xml文件的配置,没有什么神奇的地方.

我们离开了WSDL,离开了WSDD,也不需要AXIS,不需要什么W3C的大篇标准.

Hessian 简单就是美,实用就是强,好用就是王道!!!哈哈哈哈~~~
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics