`
zyslovely
  • 浏览: 231179 次
  • 性别: 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 简单就是美,实用就是强,好用就是王道!!!哈哈哈哈~~~
分享到:
评论

相关推荐

    Flex + Hessian 学习笔记(二)

    在“Flex + Hessian 学习笔记(二)”中,我们可能涉及以下知识点: 1. **Flex应用的架构**:Flex应用通常包含三层结构:表现层(Presentation)、业务逻辑层(Business Logic)和数据访问层(Data Access)。Hessian...

    WebService另一种轻量级实现—Hessian 学习笔记.rar

    **WebService的轻量级实现——Hessian学习笔记** 在IT行业中,WebService作为一种常见的跨平台、跨语言的通信机制,被广泛应用于系统间的交互。然而,传统的SOAP(Simple Object Access Protocol)协议实现的...

    Hessian学习笔记

    4. **Hessian客户端和服务器实现**:理解如何在Java或其他支持的语言中实现Hessian客户端和服务端是学习的关键。这包括创建服务端的HessianServlet,以及客户端的HessianProxyFactory,用于创建远程服务的代理对象。...

    Hessian的学习笔记

    Hessian学习笔记 Hessian是一种基于Binary-RPC协议实现的远程通讯library,由Caucho提供。下面是Hessian的学习笔记: 一、简介 Hessian是基于Binary-RPC协议实现的远程通讯library,用于实现远程过程调用(RPC)...

    Flex + Hessian 留言本

    Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + Hessian 学习笔记(三) ...

    Hessian笔记

    【标题】:“Hessian笔记”主要探讨的是Hessian这一技术在IT领域的应用,尤其是与源码和工具相关的知识。Hessian是一种二进制的Remoting...这些资料对于学习和掌握Hessian技术,提升分布式系统开发能力具有很高的价值。

    SSH学习笔记6 SSH学习笔记6

    SSH的学习笔记通常涵盖以下几个主要方面: 1. **安装与配置**:在不同的操作系统(如Linux、macOS或Windows)上安装SSH客户端和服务端软件,例如OpenSSH。配置SSH服务,包括修改`sshd_config`文件以设置端口号、...

    路径规划-深蓝学院数值优化学习笔记(含PPT)

    深蓝学院的数值优化学习笔记提供了深入理解和掌握这一主题的关键资源。数值优化是寻找函数最小值或最大值的数学方法,它在路径规划中起到核心作用,帮助找到从起点到终点的最短或最优路径。 首先,我们要理解什么是...

    java后端学习笔记

    本篇文章将深入探讨“java后端学习笔记”中的关键知识点,包括消息队列(Message Queuing)服务如ActiveMQ和RabbitMQ、工作流引擎Activity、容器化技术Docker、分布式服务框架Dubbo、网络库Netty、RPC(Remote ...

    深度学习笔记:优化方法总结

    在本篇深度学习笔记中,我们主要总结了Momentum、RMSProp和Adam三种优化方法,同时简要介绍了病态曲率和牛顿法等概念。 #### 病态曲率 在优化过程中,我们会遇到病态曲率的问题,它指的是损失曲面上某个区域沿某个...

    MyDubbo:dubbo源码学习笔记

    《MyDubbo:Dubbo源码学习笔记》 在Java开发领域,Dubbo是一个非常知名的分布式服务框架,它由阿里巴巴开源并广泛应用于大型企业系统。本篇笔记将深入探讨Dubbo的核心概念、工作原理以及源码解析,帮助开发者更好地...

    陆吾生华东师大讲义笔记

    根据提供的文件信息,华东师范大学陆吾生教授的讲义笔记主要围绕最优化理论和相关算法,...通过这门课程,学生们可以学习到最优化问题的理论基础和多种求解策略,为解决实际工程和科研中的最优化问题打下坚实的基础。

    机器学习笔记

    根据所提供的文件信息,该份文档是一份机器学习的笔记,涵盖了众多机器学习领域的基本概念和技术。下面,我们将详细解读文件中所提到的机器学习知识点: 1. CS229是斯坦福大学开设的一门机器学习课程编号,由Andrew...

    spring学习笔记

    Spring框架是Java开发中不可或缺的一部分,它以IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)为...学习和理解Spring的这些核心概念,对于提升Java开发技能和优化项目结构至关重要。

    dubbo:dubbo学习笔记

    《Dubbo学习笔记详解》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,已经在Java开发者中广受欢迎。它主要应用于分布式系统中的服务调用,提供服务注册、服务发现、负载均衡、容错处理等核心功能,...

Global site tag (gtag.js) - Google Analytics